Граф коммитов

638 Коммитов

Автор SHA1 Сообщение Дата
eregon f293fa8d63 * common.mk (help): Fix environment variable name and argument.
Actually it can also be a directory or any argument for
  test/unit runner. [Fixes GH-363]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-20 16:08:49 +00:00
zzak d0fd9aa246 * common.mk: Document running a single test [Fixes GH-363]
Patch by Avdi Grimm https://github.com/ruby/ruby/pull/363


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-20 13:46:34 +00:00
nobu 5f2080048e localeinit.c: split
* localeinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding):
  move from encoding.c.
* miniinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding):
  define miniruby specific functions only.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-14 17:47:25 +00:00
nobu b64f79c838 win32.c: rb_w32_udln_find_exe_r,
rb_w32_udln_find_file_r
* win32/win32.c (rb_w32_udln_find_exe_r, rb_w32_udln_find_file_r):
  codepage independent versions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:12 +00:00
ko1 99b10ff471 * benchmark/gc: create a directory to store GC related benchmark.
* benchmark/gc/gcbench.rb: moved from tool/gcbench.rb.
* benchmark/gc/hash(1|2).rb: ditto.
* benchmark/gc/rdoc.rb: ditto.
* benchmark/gc/null.rb: added.
* common.mk: fix rule.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-20 06:18:09 +00:00
ko1 36bc412513 * common.mk: remove dependency from ruby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-20 05:01:36 +00:00
ko1 fcd5d8fd33 * tool/gcbench.rb: Summary in one line.
* common.mk: separete gcbench-hash to gcbench-hash1 and gcbench-hash2.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-19 23:15:56 +00:00
ko1 57bb153456 * common.mk: add new rules `gcbench-rdoc', `gcbench-hash'.
* tool/gcbench.rb: separate GC bench framework and process.
* tool/hashbench1.rb, tool/hashbench2.rb: add two types GC bench.
  hashbench1: many temporal objects (GC by newobj)
  hashbench2: hash size becomes bigger and bigger (GC by malloc)
  Two benchs are executed by `gcbench-hash' rule.
* tool/rdocbench.rb: separated.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-19 22:33:02 +00:00
nobu 3f3a618d3a common.mk: loadpath dependencies
* common.mk (loadpath.o): $LOAD_PATH should not be affected by
  the revision number.

* common.mk (dmyloadpath.o): depends on nothing except for the source
  file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-17 08:08:25 +00:00
nobu 9f60d8421c * Makefile.in (after-update): non-configure platforms don't need
config files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-14 05:10:15 +00:00
nobu a53cb1a05d update config files
* .travis.yml (before_script): update config files.
* common.mk ($(srcdir)/tool/config.{guess,sub}): use get-config_files.
* tool/config_files.rb: split get-config_files.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-14 04:40:32 +00:00
nobu bbe047d4c7 download config files
* common.mk (update-config_files): rule to download config files.
* tool/config.guess, tool/config.sub: remove and download from the
  upstream.
* tool/get-config_files: download config files from GNU.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-14 04:01:54 +00:00
akr 8bc16423cc * random.c: include internal.h.
(mt_state): Use rb_integer_unpack.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-07 21:01:42 +00:00
ko1 e2793a908e * include/ruby/debug.h, vm_trace.c: add rb_postponed_job API.
Postponed jobs are registered with this API. Registered jobs
  are invoked at `ruby-running-safe-point' as soon as possible.
  This timing is completely same as finalizer timing.
  There are two APIs:
* rb_postponed_job_register(flags, func, data): register a
  postponed job with data. flags are reserved.
* rb_postponed_job_register_one(flags, func, data): same as
  `rb_postponed_job_register', but only one `func' job is
  registered (skip if `func' is already registered).
  This change is mostly written by Aman Gupta (tmm1).
  https://bugs.ruby-lang.org/issues/8107#note-15
  [Feature #8107]
* gc.c: use postponed job API for finalizer.
* common.mk: add dependency from vm_trace.c to debug.h.
* ext/-test-/postponed_job/extconf.rb, postponed_job.c,
  test/-ext-/postponed_job/test_postponed_job.rb: add a test.
* thread.c: implement postponed API.
* vm_core.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-26 21:30:44 +00:00
ko1 6f7c9e2ecb * common.mk (rdoc-bench): add a benchmark rule
using RDoc. Generate all rdoc related files
  (same as `make rdoc') in temporary directory
  and remove them. Excecution time, GC::Profiler
  and results of GC.stat are printed.
* tool/rdocbench.rb: added for `rdoc-bench'.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-21 07:36:34 +00:00
nobu 67f562a417 Makefile.in: loadpath from loadpath.c
* Makefile.in (loadpath): $LOAD_PATH in miniruby is empty by default
  now.

* win32/Makefile.sub (loadpath): separate for quirky cmd.exe syntax.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-16 07:54:04 +00:00
nobu 434f0abd02 verconf.h.in: template for verconf.h
* template/verconf.h.in: generate verconf.h from the template and
  rbconfig.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-16 04:13:40 +00:00
nobu 7b5a819308 common.mk: verconf.h for parallel build
* common.mk (verconf.h): depend on the timestamp file instead of
  rbconfig.rb, for parallel build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-16 04:13:22 +00:00
nobu 0419861590 common.mk: verconf.h dependency
* common.mk (verconf.h): no needs to update always unless rbconfig.rb
  is updated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 16:50:05 +00:00
nobu fa827c8b5a common.mk, Makefile.sub: fix build failure on mswin
* common.mk (verconf.h): $< cannot be used in explicit rules with
  nmake.
* win32/Makefile.sub (CONFIG_H): create verconf.in instead of
  verconf.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 16:44:55 +00:00
nobu 5780d88175 * common.mk (verconf.h): fix dependency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 08:09:14 +00:00
nobu b38e3f953c configure.in: shvar_to_cpp in ruby
* configure.in: save configured load path values into verconf.in.
* common.mk (verconf.h): create from verconf.in with shvar_to_cpp.rb.
* tool/shvar_to_cpp.rb: turn shell variables into C macros.
  [Bug #7959]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 07:58:28 +00:00
nobu 57531305bc loadpath.c: split
* loadpath.c: split load path staffs from version.c.
* dmyloadpath.c: miniruby has no builtin load paths, so verconf.h is
  not needed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 07:56:39 +00:00
nobu d0b7b41e59 * common.mk (yes-test-all): needs sudo-precheck for dtrace.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 04:50:15 +00:00
ayumin b5d877e62c * common.mk: remove timestamp in distclean-ext realclean-ext.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 15:22:27 +00:00
nobu 97982e823f id.def: predefined IDs
* defs/id.def: add more predefined IDs used in core.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 07:54:17 +00:00
naruse 97dae8b0ab * common.mk (clean-ext): remove timestamps.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-17 23:21:13 +00:00
akr 3033b3ae2f * common.mk: pack.o depends on internal.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-12 12:07:27 +00:00
akr 3da834800e * common.mk: version.o depends on $(srcdir)/include/ruby/version.h
instead of {$(VPATH)}version.h to avoid confusion by VPATH between
  top level version.h and include/ruby/version.h for build in-place.
  [ruby-dev:47249] [Bug #8256]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-12 09:42:06 +00:00
akr 96d811efac * common.mk: Add dependencies for include/ruby.h
* tool/update-deps: Use "make -p all miniruby ruby golf" to extract
  deendencies in makefiles.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-11 14:42:33 +00:00
akr 28c8e57ca4 * common.mk: Dependency updated.
* tool/update-deps: Rewritten.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-11 12:03:23 +00:00
naruse c0c86b55a8 * common.mk: partially revert r40183, which breaks building on
other than source directory. (its commit log also says the same
  thing, but such failure is not reproducible on my environment
  and the commit breaks build on my environment)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-11 11:03:21 +00:00
yugui 418b8e121c Fixes a build failure of ext/ripper/ripper.c on building out of place.
* common.mk (id.h, id.c): Always generated in $(srcdir).
(ext/ripper/ripper.c): Passes $(PATH_SEPARATOR) too to the sub make.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 07:10:18 +00:00
nobu 77ff241fa0 timev.h: move time_t stuffs
* timev.h (TYPEOF_TIMEVAL_TV_SEC, unsigned_time_t): move from time.c.

* thread.c: use definitions in timev.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-30 21:08:36 +00:00
nobu 81cb1f6394 compiler version
* common.mk (showflags): show the compiler version.

* configure.in (CC_VERSION): compiler with version option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-22 07:57:09 +00:00
nobu e4e82e50ab common.mk: reinstall target
* common.mk (reinstall): new target.

* defs/gmake.mk (install, uninstall): can't run parallel.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-07 01:39:10 +00:00
nobu 6ff10e76d7 common.mk: clean miniprelude.c
* common.mk (realclean-local): miniprelude.c is made by srcs, so it
  should not removed by distclean but by realclean.  [Bug #6807]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25 07:47:21 +00:00
nobu e908adc12a common.mk: uninstall
* common.mk (uninstall): uninstall installed file listed in
  $(INSTALLED_LIST) file.

* tool/rbuninstall.rb: simple uninstallation tool.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-20 12:49:43 +00:00
nobu 41dbe74b94 common.mk: no expansion
* common.mk (showconfig): get rid of variable expansion by shell.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 15:16:15 +00:00
nobu 385ef8e5c2 mkconfig.rb: no BASERUBY
* tool/mkconfig.rb: BASERUBY is transient at core build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-21 06:41:38 +00:00
nobu c669931941 vpath.rb: hack for msys make
* tool/vpath.rb (VPath#def_options): hack for msys make, which
  converts a command line argument to non-msys command seems like a
  path list automagically.  [Bug #7710] [ruby-core:51489]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-20 13:24:31 +00:00
nobu 750a5d38a6 common.mk: install-gem
* common.mk (install-gem): target to install default gems only.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-18 02:18:31 +00:00
usa 6e4b187bfe * Makefile.in, common.mk (fake, yes-fake, no-make): these dependecies
are not platform dependent.

* win32/Makefile.sub ($(arch)-fake.rb): workaround.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 06:23:15 +00:00
yugui 275a9dcb8c * Makefile.in (RBCONFIG): Moved from common.mk in order to use the
variable in Makefile.in.

* win32/Makefie.sub (RBCONFIG): Ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-04 11:19:19 +00:00
yugui f9d7df33a1 * common.mk (run, parse): Use BTESTRUBY instead of MINIRUBY to handle
cross-compiling cases, e.g. NativeClient.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-04 10:47:06 +00:00
yugui ea9301bd2b * common.mk (yes-btest): btest depends on also $(arch)-fake.rb and
rbconfig.rb on building for NativeClient.

* Makefile.in (fake): Avoid generating $(arch)-fake.rb unless cross
  compiling.

* configure.in (CROSS_COMPILING): New substitution.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-04 09:04:58 +00:00
nobu 2742b6bc43 common.mk: srcs-ext
* common.mk (ext/dl/callback/callback.c): include in srcs-ext for
  snapshot.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-22 16:53:12 +00:00
drbrain 52d4a465a8 * common.mk: Added --pages-dir to rdoc creation. Now doc/ items show
up at top-level.
* .document:  Moved doc/* entries to doc/.document
* doc/.document:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 07:57:56 +00:00
naruse 55058e3583 Revert r38301
"* common.mk ($(MINIPRELUDE_C)): -I may break make dist."

This didn't solve the issue.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 06:13:41 +00:00
naruse 381b72da12 * common.mk ($(MINIPRELUDE_C)): -I may break make dist.
patched by Vit Ondruch [Bug #7541] [ruby-core:50736]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 02:38:20 +00:00
nobu 28ee4c2966 id.c: generate
* common.mk, defs/id.def, template/id.c.tmpl: generate id.c as well as id.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-04 17:36:19 +00:00
ko1 38766319e1 * compile.c (iseq_compile_each): joke shouldn't use id.h defined ids.
* id.c (Init_id): ditto.
* common.mk: fix dpendency.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-03 05:14:50 +00:00
ko1 f6f388a5bd * array.c, enum.c, insns.def, io.c, numeric.c, parse.y, process.c,
range.c: use prepared IDs.
  A patch from charliesome (Charlie Somerville).
  [Bug #7495]
* common.mk: add dependency to id.h.
* common.mk: replace ID_H_INCLUDES with id.h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-02 09:57:47 +00:00
nobu d22ac50ad4 tool/vpath.rb
* tool/generic_erb.rb, tool/id2token.rb: add --path-separator option
  for mingw where make and built ruby live in different world.
* tool/vpath.rb: extract from tool/instruction.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 08:12:29 +00:00
ko1 585ac7f1a2 * include/ruby/debug.h: add rb_debug_inspector_* APIs.
* vm_backtrace.c: ditto.
* common.mk: add dpendency from vm_backtrace.o to
  include/ruby/debug.h.
* proc.c (rb_binding_new_with_cfp): constify.
* vm.c (rb_vm_get_ruby_level_next_cfp): consitify.
* vm_core.h, vm_trace.c: move decls.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 07:05:27 +00:00
drbrain 9694bb8cac * lib/rubygems*: Updated to RubyGems 2.0
* test/rubygems*:  ditto.

* common.mk (prelude):  Updated for RubyGems 2.0 source rearrangement.

* tool/change_maker.rb:  Allow invalid UTF-8 characters in source
  files.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 06:52:18 +00:00
drbrain 6d1266a879 * lib/rdoc/*: Added --root option for building documentation outside
the source directory.
* test/rdoc/*:  ditto
* common.mk (rdoc):  Added --root to rdoc rule


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-27 08:54:03 +00:00
drbrain 585de40a69 * common.mk (rdoc): Set --debug for rdoc generation in case of bugs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-27 06:19:06 +00:00
ko1 7b918be3d4 * common.mk: specify label `built-ruby'.
* benchmark/driver.rb: quote path.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-26 09:30:32 +00:00
nobu f6761088a4 configure.in: --disable-dln
* configure.in (--disable-dln): option to disable dynamic linking
  feature.  [ruby-core:37676] [Feature #4946]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-23 15:00:12 +00:00
usa f317a1562e * common.mk, win32/Makefile.sub (probes.dmyh): now be made in current
(=build) directory if build from the repository.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-22 12:49:59 +00:00
usa 8e8d7bb7fc * common.mk, Makefile.in, win32/Makefile.sub (.dmyh.h): nmake merges
explicit rules for same target, but not merges exlicit rules and
  implicit rules -- always explict rules win.  So, need to add an
  explist rule for probes.h.
  reported by Heesob Park at [Bug #7421] [ruby-core:49839]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-22 09:16:48 +00:00
ko1 cea7600b52 * include/ruby/debug.h: introdudced.
Debugging/profiling features will be located.
* vm_trace.c: expose C-level TracePoint APIs.
  Note that they are experimental.
* vm_trace.c, include/ruby/debug.h: rename `rb_hook_flag_t'
  to `rb_event_hook_flag_t'.
  Macro names `RUBY_HOOK_FLAG_*' are also renamed to
  `RUBY_EVENT_HOOK_FLAG_*'.
* debug.h, vm_debug.h: rename debug.h to vm_debug.h.
* common.mk: ditto.
* debug.c, main.c, vm_core.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 12:57:49 +00:00
nobu 3b3d2006c2 common.mk: fix for BSD make
* common.mk (incs): BSD make cannot deal with non-prefixed dependency
  and prefixed target.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 12:01:21 +00:00
ngoto f17aa9b361 * vm_dump.c: not to include probes.h because the code does not depend
on it.
* common.mk (vm_dump.$(OBJEXT)): remove dependency on probes.h


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 12:37:43 +00:00
nobu a824a6187d common.mk: no purelib
* common.mk (RUBYLIB): purelib option in runruby.rb is deprecated
  since r28841, so set to an empty list to get rid of a bogus path in
  child processes, which caused an insecure operation exception in
  test/ruby/test_encoding.rb:test_unsafe.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 07:08:13 +00:00
naruse 24512ba1b4 * configure.in: fix didn't enable_dtrace=yes on auto.
* configure.in: see enable_dtrace for adding libelf on FreeBSD.

* common.mk: VPATH is not needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 06:11:36 +00:00
usa 3918bbfac4 * Makefile.in, common.mk (probes.h): moved to common.mk and changed to
see $(srcdir).

* common.mk (probes.dmyh): now created it on $(srcdir) always.

* win32/Makefile.sub (.SUFFIXES): removed common suffix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 05:56:38 +00:00
naruse 70927cb204 * common.mk (vm_dump.o): depend probes.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 02:06:39 +00:00
naruse f567a1a4d9 * Makefile.in (.SUFFIX): bsdmake needs .SUFFIX is defined before use.
* common.mk: fix path of probes.dmyh.

* configure.in: FreeBSD's USDT requires libelf.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 01:04:53 +00:00
ngoto 979dff3ee4 * vm_core.h, probes_helper.h (RUBY_DTRACE_FUNC_ENTRY_HOOK,
RUBY_DTRACE_FUNC_RETURN_HOOK): move from vm_core.h to new file
  probes_helper.h for narrowing dependency to probes.h.
* common.mk (VM_CORE_H_INCLUDES): remove dependency to probes.h.
* common.mk (vm.$(OBJEXT)): add dependency to probes_helper.h.
* vm.c, vm_insnhelper.c: include probes_helper.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-18 16:30:10 +00:00
ngoto 1f225be2e5 * 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
2012-11-18 08:24:24 +00:00
nobu 6379b316bb common.mk: dependencies for proges.dmyh
* common.mk (incs): dist files need probes.dmyh.
* common.mk (probes.dmyh): depends on generator script.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 15:40:30 +00:00
nobu eb40d20e30 probes.h: select by suffix rules
* Makefile.in, common.mk, configure.in, win32/Makefile.sub (probes.h):
  select generating with dtrace or copying dummy file by suffix rules.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 15:22:37 +00:00
naruse 6e0375e3e2 * Makefile.in (no-dtrace-probes.h): dmyprobes.h is in srcdir.
* common.mk (dmyprobes.h): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 10:03:07 +00:00
nobu e516438581 Makefile.in: move probes.h to all-incs
* Makefile.in (incs): probes.h is a platform dependent file, so it
  cannot be a part of prereq target.  move it to all-incs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 08:56:49 +00:00
naruse bd5b2cb617 * common.mk (vm_insnhelper.c): this target is useless and causes
ruby always need rebuild.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 08:41:11 +00:00
naruse db31b3dad5 * common.mk (dmyprobes.h): always create for make dist.
* Makefile.in (probes.h): create or copy dmyprobes.h

* win32/Makefile.sub: only do copy dmyprobes.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 07:49:09 +00:00
usa aec93c2283 * common.mk Makefile.in win32/Makefile.sub (.d.h): it's not common.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 06:35:30 +00:00
naruse f82d652f35 Fix dtrace commit r37631, it is [Feature #2565]
* configure.in: disable dtrace because it doesn't work on FreeBSD.

* common.mk (clean-local): rm probes.h.

* common.mk (parse.o): depend $(PROBES_H_INCLUDES).

* common.mk (.d.h): moved from Makefile.in and use BASERUBY.

* tool/gen_dummy_probes.rb: reimplemented with ruby because sed is not
  available on Windows Microsoft VC++ environment.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 06:13:39 +00:00
tenderlove 4c740bae97 * probes.d: add DTrace probe declarations. [ruby-core:27448]
* array.c (empty_ary_alloc, ary_new): added array create DTrace probe.

* compile.c (rb_insns_name): allowing DTrace probes to access
  instruction sequence name.

* Makefile.in: translate probes.d file to appropriate header file.

* common.mk: declare dependencies on the DTrace header.

* configure.in: add a test for existence of DTrace.

* eval.c (setup_exception): add a probe for when an exception is
  raised.

* gc.c: Add DTrace probes for mark begin and end, and sweep begin and
  end.

* hash.c (empty_hash_alloc): Add a probe for hash allocation.

* insns.def: Add probes for function entry and return.

* internal.h: function declaration for compile.c change.

* load.c (rb_f_load): add probes for `load` entry and exit, require
  entry and exit, and wrapping search_required for load path search.

* object.c (rb_obj_alloc): added a probe for general object creation.

* parse.y (yycompile0): added a probe around parse and compile phase.

* string.c (empty_str_alloc, str_new): DTrace probes for string
  allocation.

* test/dtrace/*: tests for DTrace probes.

* vm.c (vm_invoke_proc): add probes for function return on exception
  raise, hash create, and instruction sequence execution.

* vm_core.h: add probe declarations for function entry and exit.

* vm_dump.c: add probes header file.

* vm_eval.c (vm_call0_cfunc, vm_call0_cfunc_with_frame): add probe on
  function entry and return.

* vm_exec.c: expose instruction number to instruction name function.

* vm_insnshelper.c: add function entry and exit probes for cfunc
  methods.

* vm_insnhelper.h: vm usage information is always collected, so
  uncomment the functions.

12 19:14:50 2012  Akinori MUSHA  <knu@iDaemons.org>

* configure.in (isinf, isnan): isinf() and isnan() are macros on
  DragonFly which cannot be found by AC_REPLACE_FUNCS().  This
  workaround enforces the fact that they exist on DragonFly.

12 15:59:38 2012  Shugo Maeda  <shugo@ruby-lang.org>

* vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo),
  vm_insnhelper.c (vm_search_method): revert r37616 because it's too
  slow.  [ruby-dev:46477]

* test/ruby/test_refinement.rb (test_inline_method_cache): skip
  the test until the bug is fixed efficiently.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 21:52:12 +00:00
nobu 5a5a86cc52 hash.c: refine error messages
* hash.c (rb_hash_s_create): refine error messages.
* error.c (rb_builtin_class_name): share for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 06:38:17 +00:00
ngoto 05a05cc62b * ruby_atomic.h: renamed from atomic.h to avoid header file name conflict
on Solaris 10. [ruby-dev:46414] [Bug #7287]
* gc.c, signal.c, vm_core.h, common.mk: reflect the rename from atomic.h
  to ruby_atomic.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-09 16:05:07 +00:00
nobu 525cb66467 siphash
* random.c (rb_memhash): use siphash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-09 07:12:00 +00:00
shirosaki 14d59c122f extmk.rb: fix mingw make failure with make -jN
* common.mk (WPROGRAM): need same dependencies as PROGRAM.

* cygwin/GNUmakefile.in (uncommon.mk): move include position
  below WPROGRAM definition to be defined in uncommon.mk.

* ext/extmk.rb (all, static): fix make rubyw.exe failure with make -jN.
  If make of ruby.exe and rubyw.exe run in parallel, link dll and link
  exe run in parallel, which causes link failure on mingw. To fix this,
  we make ruby.exe and rubyw.exe in one make process.
  [ruby-core:48007] [Bug #7165]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-17 12:20:57 +00:00
nobu 7cc6bfa329 common.mk: gdb-ruby
* Makefile.in (RUNRUBY_COMMAND): split from RUNRUBY.

* common.mk (gdb-ruby): use runruby.rb to set up library path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-05 07:28:32 +00:00
nobu 5809d668bc common.mk: partial revert r36867
* common.mk: revert r36867 partially, to use files in the source
  directory when out-of-place build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-05 05:29:46 +00:00
nobu ca1c6093d6 common.mk: broken nmake
* common.mk: VPATH in dependencies works.  [Bug #6956]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-31 08:44:02 +00:00
nobu 926552f583 common.mk: broken nmake
* common.mk: remove VPATH from rules for generated files, because
  nmake does not work.  [Bug #6956]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-31 06:35:21 +00:00
nobu 470c941ce5 id.h: independent from parse.h
* template/id.h.tmpl, tool/id2token.rb: make id.h independent from
  parse.h, and make parse.c dependent on it instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-31 05:31:20 +00:00
yugui 10d85333ac * common.mk (vm_trace.o): Added a missing dependency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-27 06:09:26 +00:00
nobu 4d887d8b71 common.mk: update parse.h
* common.mk (.y.h): update the header unconditionally

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-25 07:20:31 +00:00
nobu bcbc1f722c generic_erb.rb: --vpath option
* tool/generic_erb.rb (vpath.open): move --vpath option from
  template/id.h.tmpl.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-25 07:20:29 +00:00
kazu a7208d2a81 * common.mk: support `make id.h` without `rm .id.h.time` after `rm id.h`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 12:05:45 +00:00
usa b2ea5504bc * common.mk (win32/*): macro RUBY_H_INCLUDES is not defined there,
so need to move denendency rules under the definition of it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 10:20:37 +00:00
usa bae282bc74 * common.mk (ID_H_TARGET): revert a part of r36724 and r36751. they
break mswin build from clean source.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 01:38:14 +00:00
yugui e782fb8eea * common.mk (vm_backtrace.o): Added missing dependencies.
* ext/nkf/depend (nkf.o): ditto.

* ext/ripper/depend (ripper.o) ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 01:11:30 +00:00
nobu 3eb71e2221 common.mk: id.h
* common.mk (ID_H_TARGET): timestamp file makes no senses now.  object
  files depending on id.h are always updated after parse.y is touched.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 05:00:33 +00:00
kazu 73eda1735f * common.mk: fix failed to make with -j2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-20 02:46:33 +00:00
nobu cedb0db802 common.mk: fix VPATH
* common.mk (ID_H_TARGET, parse.h): fix VPATH rules with nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 14:52:37 +00:00