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

826 Коммитов

Автор SHA1 Сообщение Дата
akr 1c6f4943b9 * common.mk (miniprelude.c): It is not depend on prelude.rb now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 12:59:18 +00:00
akr 698f329b55 Update dependencies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 12:52:17 +00:00
nobu 955c7f0698 common.mk: prelude.c by BASERUBY
* common.mk (prelude.c): no longer depends on miniruby, since not
  depending on rbconfig.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 08:32:01 +00:00
nobu 98d18de479 common.mk: no preludes for miniruby
* common.mk (miniprelude.c): miniruby needs no preludes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 08:12:16 +00:00
akr b1028f7a6c * common.mk: encdb.h and transdb.h depends on $(PREP).
So prebuild files for them in tarball are useless.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-25 21:09:34 +00:00
akr a08d6c5bd8 * common.mk (prereq): Don't depends on prelude.c and golf_prelude.c.
Since they depend on $(PREP) which is miniruby, they are rebuilt
  after miniruby is built, even if tarball contains them.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-25 15:55:34 +00:00
akr 7df1831bae * template/prelude.c.tmpl: Don't expand RbConfig::Config[...].
It is not used now.

* common.mk: prelude.c and golf_prelude.c doesn't depend on rbconfig.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-25 15:22:01 +00:00
nobu 913ed016c1 common.mk: remove old gems
* common.mk (update-gems): remove old version gems after
  successfully downloaded.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-25 04:37:58 +00:00
nobu d551e813ca common.mk: keep verconf.h if unchanged
* common.mk (verconf.h): update only when changed to reduce
  unnecessary recompiling loadpath.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-22 07:10:20 +00:00
nobu 4ecdc8f545 common.mk: use PWD with nmake
* common.mk (ext/ripper/ripper.c): move MAKEDIR to Makefile.sub.

* win32/Makefile.sub (PWD): set to $(MAKEDIR), nmake built-in macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-21 15:58:35 +00:00
naruse 31f9c8c09e * common.mk (ext/ripper/ripper.c): revert about srcdir and top_srcdir.
* common.mk (ext/ripper/ripper.c): use $(PWD) for Unix,
  $(MAKEDIR) for Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-21 10:34:55 +00:00
akr 6ca202fcee Update dependency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-21 03:04:44 +00:00
nobu 72de767e9b common.mk: fix dependencies
* common.mk (ext/ripper/ripper.c): fix dependencies for the case
  to make ripper.y and id.h under the build directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-21 00:10:25 +00:00
naruse c2bd5491f2 * common.mk (ext/ripper/ripper.c): id.h in VPATH may exist in the build
directory.

* common.mk (ext/ripper/ripper.c): $(RM) was not defined.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-20 23:45:44 +00:00
nobu 3a2d2af0f7 common.mk: fix build error
* common.mk (ext/ripper/ripper.c): VPATH is always ../.. from
  ext/ripper.

* ext/ripper/depend (.y.c): VPATH is not needed for an
  intermediate file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-19 15:19:33 +00:00
nobu 4daa0fce20 common.mk: ims=nil option
* common.mk (update-gems): use ims=nil option.

* tool/downloader.rb (Downloader.download): show the message if no
  need to download in verbose mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-19 15:06:04 +00:00
naruse a77e25ecd8 * common.mk (ext/json/parser/parser.c): don't touch parse.c,
ruby repo is a downstream.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-19 12:12:22 +00:00
naruse 85c464c540 * common.mk (ext/ripper/ripper.c): use $(PWD) to get
<build-directory>/ext/ripper.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-19 11:38:46 +00:00
naruse 926b9e05f1 * common.mk (ext/ripper/ripper.c): pass build directory as VPATH.
* ext/ripper/depend (.y.c): use VPATH for y.tab.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-19 09:00:33 +00:00
usa 4a447965b5 * common.mk: revert r48486 because it breaks mswin build. start over.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-18 22:17:53 +00:00
nobu 0f6015c4fb common.mk: remove srcdir prefix
* common.mk (PRELUDE_SCRIPTS): since tool/generic_erb.rb searches
  files in VPATH, srcdir prefix is not needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-18 20:28:46 +00:00
akr 20fe728a24 Dependencies updated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-18 15:28:08 +00:00
akr 30a5ce7345 * common.mk (CCAN_LIST_INCLUDES): Unused variable removed.
(ENCODING_H_INCLUDES): Ditto.
  (PROBES_H_INCLUDES): Ditto.
  (VM_CORE_H_INCLUDES): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-16 04:12:38 +00:00
akr f4330f7f6b Revert r48450.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-16 02:06:11 +00:00
akr 2a87fdedb7 * common.mk: Specify dependencies for generated C sources.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 15:46:05 +00:00
akr 32dc9e462a * common.mk: parse.o depends on parse.y before parse.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 15:08:50 +00:00
akr 6afabcb4aa * common.mk: No need to declare dependencies which
will be detected by inference rules.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 14:11:49 +00:00
akr 7cd76ab0c5 * internal.h: Include ruby.h and ruby/encoding.h to be
includable without prior inclusion.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 11:49:06 +00:00
akr dd547e1b22 Mark auogenerated part.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 11:14:08 +00:00
akr 57682b05e1 * common.mk: Remove comments in Dependency lines.
Notified by usa.

* enc/depend: Ditto.

* ext/**/depend: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 10:28:25 +00:00
akr 8727eb77be * tool/update-deps: Extend to fix dependencies.
* common.mk: Dependencies updated by tool/update-deps.

* enc/depend: Ditto.

* ext/**/depend: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 05:15:49 +00:00
nobu 54af8757b3 internal.h: STATIC_ASSERT
* st.c: include "internal.h" for STATIC_ASSERT.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-13 02:56:14 +00:00
nobu b65b392e96 tables.rb: add
* lib/unicode_normalize/tables.rb: commit not to download and
  convert Unicode data files every time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-11 17:41:53 +00:00
nobu d91b502dec common.mk: relax dependency
* common.mk (lib/unicode_normalize/tables.rb): should depend on
  Unicode data files only when downloading.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-11 17:41:42 +00:00
nobu 50ad0f58bb * win32/Makefile.sub (prelude.c): search from source directory,
not depending on VPATH, in parallel to r35135.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-11 10:29:00 +00:00
nobu d24e725009 common.mk: nmake
* common.mk (prelude.c): workaround for nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-11 09:46:32 +00:00
nobu f760bb4b39 common.mk: preludes
* common.mk (preludes): make prelude.c too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-11 09:09:59 +00:00
nobu 8e677dc443 template/prelude.c.tmpl
* template/prelude.c.tmpl: move from tool/compile_prelude.rb and
  expand by generic_erb.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-11 09:09:14 +00:00
nobu 1cede1dab2 reaply r48278
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-06 10:53:04 +00:00
naruse 8d00496911 Revert r48278 "common.mk: update unicode data only if BASERUBY is available"
Moreover its error "make[1]: *** No rule to make target
`lib/unicode_normalize/tables.rb', needed by `srcs-lib'.  Stop." is not
a good error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-06 05:46:43 +00:00
nobu ef8139db13 common.mk: update unicode data only if BASERUBY is available
* common.mk (lib/unicode_normalize/tables.rb): do nothing unless
  BASERUBY is available.  MINIRUBY cannot load extension libraries,
  so cannot update Unicode data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-05 05:11:33 +00:00
ko1 fbebd502f9 * rewrite method/block parameter fitting logic to optimize
keyword arguments/parameters and a splat argument.
  [Feature #10440] (Details are described in this ticket)
  Most of complex part is moved to vm_args.c.
  Now, ISeq#to_a does not catch up new instruction format.
* vm_core.h: change iseq data structures.
  * introduce rb_call_info_kw_arg_t to represent keyword arguments.
  * add rb_call_info_t::kw_arg.
  * rename rb_iseq_t::arg_post_len to rb_iseq_t::arg_post_num.
  * rename rb_iseq_t::arg_keywords to arg_keyword_num.
  * rename rb_iseq_t::arg_keyword to rb_iseq_t::arg_keyword_bits.
    to represent keyword bitmap parameter index.
    This bitmap parameter shows that which keyword parameters are given
    or not given (0 for given).
    It is refered by `checkkeyword' instruction described bellow.
  * rename rb_iseq_t::arg_keyword_check to rb_iseq_t::arg_keyword_rest
    to represent keyword rest parameter index.
  * add rb_iseq_t::arg_keyword_default_values to represent default
    keyword values.
  * rename VM_CALL_ARGS_SKIP_SETUP to VM_CALL_ARGS_SIMPLE
    to represent
      (ci->flag & (SPLAT|BLOCKARG)) &&
      ci->blockiseq == NULL &&
      ci->kw_arg == NULL.
* vm_insnhelper.c, vm_args.c: rewrite with refactoring.
  * rewrite splat argument code.
  * rewrite keyword arguments/parameters code.
  * merge method and block parameter fitting code into one code base.
* vm.c, vm_eval.c: catch up these changes.
* compile.c (new_callinfo): callinfo requires kw_arg parameter.
* compile.c (compile_array_): check the last argument Hash object or
  not. If Hash object and all keys are Symbol literals, they are
  compiled to keyword arguments.
* insns.def (checkkeyword): add new instruction.
  This instruction check the availability of corresponding keyword.
  For example, a method "def foo k1: 'v1'; end" is cimpiled to the
  following instructions.
    0000 checkkeyword     2, 0  # check k1 is given.
    0003 branchif         9     # if given, jump to address #9
    0005 putstring        "v1"
    0007 setlocal_OP__WC__0 3   # k1 = 'v1'
    0009 trace            8
    0011 putnil
    0012 trace            16
    0014 leave
* insns.def (opt_send_simple): removed and add new instruction
  "opt_send_without_block".
* parse.y (new_args_tail_gen): reorder variables.
  Before this patch, a method "def foo(k1: 1, kr1:, k2: 2, **krest, &b)"
  has parameter variables "k1, kr1, k2, &b, internal_id, krest",
  but this patch reorders to "kr1, k1, k2, internal_id, krest, &b".
  (locate a block variable at last)
* parse.y (vtable_pop): added.
  This function remove latest `n' variables from vtable.
* iseq.c: catch up iseq data changes.
* proc.c: ditto.
* class.c (keyword_error): export as rb_keyword_error().
* common.mk: depend vm_args.c for vm.o.
* hash.c (rb_hash_has_key): export.
* internal.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-02 18:02:55 +00:00
nobu 3dce236bf5 common.mk: remove dl from EXT_SRCS
* common.mk (EXT_SRCS): remove dl/callback which has been removed
  at r48217.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 22:23:43 +00:00
nobu aa631f9a7e common.mk: fix Unicode table dependency
* common.mk (.unicode-tables.time): needs Unicode files always,
  and should update after downloading these files.
  [ruby-core:66026] [Bug #10461]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 03:54:45 +00:00
nobu 708eed2090 common.mk: separate updates
* common.mk (UPDATE_LIBRARIES): separate autogenerated library
  script from downloaded data files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-30 14:58:57 +00:00
naruse 7c1480ecbc * common.mk: fix for the case ALWAYS_UPDATE_UNICODE=no
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-30 09:48:59 +00:00
nobu 39713bd927 common.mk: separate Unicode files directory
* common.mk: download Unicode files into separate directory for the
  version.

* tool/downloader.rb (Downloader::Unicode.download): strip version
  directory.

* tool/downloader.rb (Downloader.download): strip directory name
  if download directory is given.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-30 07:39:51 +00:00
nobu 9b581e0d0b template/unicode_norm_gen.tmpl: from tool/unicode_norm_gen.rb
* template/unicode_norm_gen.tmpl: use generic_erb.rb to update if
  changed and manage timestamp, so that source tree on read-only
  filesystem works.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-25 07:20:15 +00:00
nobu f72c0b5c78 common.mk: timestamp for update-unicode
* common.mk (.update-unicode.time): timestamp not to download same
  files twice at one build.  [Bug #10415]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 14:58:29 +00:00
nobu 052c85da96 common.mk: update unicode files every times
* common.mk (update-unicode): invert dependency to run every times.
  [ruby-core:65842] [Bug #10415]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 17:33:02 +00:00
nobu 6cf85c1bd2 common.mk: update source tree
* common.mk (after-update): update files under source tree.
  [ruby-core:65840] [Bug #10414]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 17:25:35 +00:00
usa 35215a8503 * common.mk (prelude.c): add dependency to LIB_SRCS because
enc/prelude.rb requires lib/unicode_normalize.rb, and it's also
  requires lib/unicode_normalize/tables.rb (=LIB_SRCS).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 12:33:36 +00:00
yugui a49be8a8e3 * common.mk (build-ext): avoid trying to build dynamic libraries
if configured --with-static-linked-ext.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 12:19:16 +00:00
duerst 0263002e2f common.mk: Fixed grammar in comment [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 11:33:36 +00:00
nobu 2767d9a8cf common.mk: comment on ALWAYS_UPDATE_UNICODE [ci skip]
* common.mk (ALWAYS_UPDATE_UNICODE): comment to how to force
  always update Unicode data files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 09:55:41 +00:00
nobu 42ca978656 common.mk: UNICODE_FILES
* common.mk (UNICODE_FILES): revert the rule that Unicode data
  files depend on downloader target, and add missing dependency of
  lib/unicode_normalize/tables.rb

* common.mk (after-configure): removed as srcdir should be
  read-only after update.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 13:48:16 +00:00
duerst 69488371e4 common.mk: Adding explicit creation of directory
enc/unicode/data because git doesn't handle empty
directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 08:32:34 +00:00
usa f15279b23b * common.mk: *.txt are also in $(srcdir). see r48059.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 06:16:39 +00:00
nobu 4ae67d876a common.mk: after-configure
* common.mk (after-configure): update Unicode files after
  configure run.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 05:17:32 +00:00
nobu cde7ae1c15 common.mk: split after-update
* common.mk (after-update): move platform independent targets from
  Makefile.in.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 03:55:08 +00:00
nobu 622f31be31 Makefile.in: update unicode files only after update source tree
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 15:14:56 +00:00
usa 345c1408a9 * common.mk (lib/unicode_normlize/table.rb): enable running (n)make
in non-srcdir.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 14:59:33 +00:00
nobu a1cd284033 common.mk: disable force download of unicode files by default
* tool/downloader.rb: add -a option to always download regardless
  existing files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 14:58:06 +00:00
nobu c7e1545cea common.mk: update unicode files every times
* common.mk (update-unicode): remove -e option to force update
  every builds.

* tool/downloader.rb (Downloader.download): return if ims is nil
  and target file is existing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 13:43:45 +00:00
duerst 27cbf1f50d config.mk: Added missing data files as targets for prerequisite update_unicode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 10:54:55 +00:00
nobu 8b99ce9656 unicode_norm_gen.rb: get rid of hard coded paths
* common.mk (lib/unicode_normalize/tables.rb): run at top srcdir.

* tool/unicode_norm_gen.rb: add -input and -output options to set
  InputDataDir and OuputDataDir respectively.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 03:42:44 +00:00
nobu 11d36a49c7 common.mk: use existing files
* common.mk (update-unicode): use downloaded files if existing,
  not to require network connection always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 17:18:41 +00:00
naruse 0c31f66276 add dependency
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 16:06:57 +00:00
nobu 2435904da7 common.mk (srcs-enc): generate unicode_normalize/tables.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 15:30:10 +00:00
nobu 795cb77701 common.mk: fix missing quote
* common.mk (lib/unicode_normalize/tables.rb): fix missing quote
  and script path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 11:27:00 +00:00
usa 1c047683da * common.mk: nmake doesn't recognize ${} form. use $() instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 11:08:27 +00:00
duerst 25f3baf7b6 common.mk: Added a rule to generate lib/unicode_normalize/tables.rb.
This rule still needs to be integrated into the overall make process.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 09:13:20 +00:00
nobu f77d22d1fe common.mk: update-gems for older BASERUBY
* common.mk (update-gems): chdir to the target directory and then
  add the tool directory to load paths, for older BASERUBY.
  [Bug #10372][ruby-core:65630]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-13 11:44:50 +00:00
nobu caa54c1715 Revert r47899
* common.mk: $(srcdir)/../tool is an invalid path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-13 11:27:00 +00:00
hsbt 89322aafb5 * common.mk: use relative load path for bundled_gems directory.
[Bug #10372][ruby-core:65630]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-13 06:42:33 +00:00
nobu cf5450bb7c common.mk: mark PHONY targets
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 01:17:05 +00:00
nobu d2be02974c common.mk: update only non-existing files
* common.mk (update-config_files): update only non-existing files,
  and get rid of trying to download existing files every time.
  gitweb does not send Last-Modified header.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 01:17:01 +00:00
hsbt d3a405b973 * common.mk: fixed broken reference of update-config_files task
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 00:51:47 +00:00
nobu 1c01280d17 downloader.rb
* configure.in: use tool/downloader.rb directly.

* tool/get-config_files: no longer used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 11:27:22 +00:00
nobu 3bbea8ed37 tool/downloader.rb: split particular sites
* tool/downloader.rb (Downloader): split particular sites from the
  main class.

* tool/downloader.rb (Downloader.download): show messages if
  verbose mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 02:54:59 +00:00
duerst 69cbd810fa common.mk: Created new target update-unicode to download
some Unicode data files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 02:14:16 +00:00
nobu 4f123ebd39 common.mk: update-gems
* common.mk (update-gems): update bundled gem files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-23 12:09:30 +00:00
usa e564a82a93 * common.mk (encs enc trans libencs libenc libtrans): force to run
enk.mk because common.mk does not know the dependency, but enk.mk
  knows. [ruby-dev:48530] [Bug #10220]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-10 05:16:21 +00:00
hsbt 355c032fcf * test/runner.rb: reporting test coverage for test-all with COVERAGE env.
[Feature #10189][ruby-core:64681]
* Makefile.in: added task for coverage report.
* common.mk: added definition of forked simplecov url.
* .gitignore: ignored coverage directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-02 07:59:18 +00:00
normal 343f8b02a1 string.c: remove vm_core.h dependency [ruby-core:64627]
* string.c: revert part of r47311, add rb_vm_fstring_table(),
  remove vm_core.h dependency. [ruby-core:64627]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-29 07:22:23 +00:00
normal a1e95636ac string.c: move frozen_strings table to rb_vm_t
Cleanup in case MVM development proceeds.

* string.c: remove static frozen_strings
* string.c (Init_frozen_strings): new function
* string.c (rb_fstring): remove check for frozen strings,
  use per-VM table
* string.c (rb_str_free): use per-VM table
* string.c (Init_String): use per-VM table
* vm_core.h (rb_vm_t): add frozen_strings table
* internal.h (Init_frozen_strings): new function prototype
* eval.c (ruby_setup): call Init_frozen_strings
  [Feature #10182]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-29 06:30:03 +00:00
nobu f024d46f11 tool/vcs.rb: no time.rb
* common.mk (Doxyfile): revert r43888, not to require preinstalled
  ruby.  [ruby-core:64488] [Bug #10161]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-22 06:36:46 +00:00
nobu 1d196e0d2b sprintf.c: rational 'f' format
* sprintf.c (rb_str_format): support rational 'f' format.
  [ruby-core:64382] [Bug #10136]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-18 08:06:48 +00:00
nobu 62a4c2f55f common.mk: ignore timestamp directory
* common.mk (clean-ext): ignore error on removing non-existent
  timestamp directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-10 03:31:33 +00:00
nobu e4c92f24fe common.mk: null device name
* common.mk (clean-platform): use $(NULL) as portabile null device
  name instead of hard coded /dev/null for the portability.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-28 05:38:26 +00:00
nobu e23d173679 revert r46859 and r46860
revert "enum.c: optimize any? object allocations for Array and Hash"

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-18 13:16:37 +00:00
nobu 0d0fc55122 enum.c: optimize any? object allocations for Array and Hash
* enum.c (enum_any): optimize object allocations for Array and
  Hash when `each` is not redefined, always false if empty and the
  case without a block.  [fix GH-617]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-18 02:10:37 +00:00
nobu 47adf5709a symbol.c: remove dependency on parse.h
* symbol.c (op_tbl): remove non-regular symbols.

* symbol.c (global_symbols): start from the next of the preserved
  ID.

* symbol.c: (rb_id2str): op_tbl does not exceed tLAST_OP_ID.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-11 14:10:50 +00:00
ngoto 60ee5e03f1 * common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solaris
introduced in r46768. Object files containing dtrace probes should
  be listed in DTRACE_DEPENDENT_OBJS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-09 15:28:53 +00:00
nobu 94ce481263 symbol.c, symbol.h: split from parse.y
* symbol.c, symbol.h: Symbol class implementation and internals,
  split from parse.y.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-09 08:07:32 +00:00
nobu b1f4bf8aa2 common.mk: integrate clean targets
* common.mk (clean-rdoc, clean-capi, clean-platform): integrate
  from Makefile.in and win32/Makefile.sub.

* win32/Makefile.sub (RMALL): now use rm.bat instead of rmall.bat
  which does not handle any options and convert slashes.

* win32/rmall.bat: no longer used.  use rm.bat with -r instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-07 07:08:06 +00:00
ko1 a31219c91c * parse.y: do not use rb_gc_resurrect(), but create a new dynamic
symbol for garbage dynamic symbol.
* common.mk: use gc.h by parse.y.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-07 01:53:54 +00:00
ko1 7ad35210a3 * string.c (fstr_update_callback): do not use rb_gc_resurrect()
any more.
  Make new frozen string and replace with garbage frozen string.
* common.mk: use gc.h from string.c.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-06 17:20:30 +00:00
nobu dd1f6b7d88 common.mk: ignore clean-runnable errors
* common.mk (clean-runnable): get rid of errors running again after
  clean-runnable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-05 23:38:13 +00:00
nobu c97934b364 common.mk: remove sizes.o
* common.mk (sizes.o): remove stale target.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-05 07:05:38 +00:00
nobu 86689e037f common.mk: empty by distclean
* common.mk (clean-runnable): remove files made by mkrunnable.

* common.mk (clean-extout): remove archir too.

* common.mk (clean-ext): remove timestamp directory

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-05 07:02:39 +00:00
nobu 8eedcaa6b5 common.mk: move DEFAULT_PRELUDES
* common.mk (DEFAULT_PRELUDES): no longer configurable since
  r43278, move from Makefile.in and win32/Makefile.sub.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-04 17:32:51 +00:00
nobu c2b0992156 configure.in: fix static-linked-ext
* configure.in (--with-static-linked-ext): fix for extensions to
  be linked statically.
* Makefile.in, common.mk: use ENCSTATIC for enc directory.
* ext/extmk.rb: supply dependencies of statically linked extension
  libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-03 03:40:24 +00:00
nobu 0b4e4b20cb extmk.rb: GNU make -C option
* ext/extmk.rb: use -C option for GNU make instead of shell.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-03 03:38:13 +00:00
nobu 3f3c86faaa common.mk: fix dependencies
* common.mk, defs/gmake.mk: fix install and uninstall dependencies
  with parallel make.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-19 14:11:52 +00:00
nobu f1b49b7bb9 constify character property tables
* enc/jis/props.kwd: constify character property tables of JIS
  based encodings by perfect hash.
* enc/euc_jp.c, enc/shift_jis.c: use character property functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 05:02:15 +00:00
normal f11db2a605 vm*: doubly-linked list from ccan to manage vm->living_threads
A doubly-linked list for tracking living threads guarantees
constant-time insert/delete performance with no corner cases of a
hash table.  I chose this ccan implementation of doubly-linked
lists over the BSD sys/queue.h implementation since:

1) insertion and removal are both branchless
2) locality is improved if a struct may be a member of multiple lists
   (0002 patch in Feature 9632 will introduce a secondary list
   for waiting FDs)

This also increases cache locality during iteration: improving
performance in a new IO#close benchmark with many sleeping threads
while still scanning the same number of threads.

	vm_thread_close 1.762

* vm_core.h (rb_vm_t): list_head and counter for living_threads
  (rb_thread_t): vmlt_node for living_threads linkage
  (rb_vm_living_threads_init): new function wrapper
  (rb_vm_living_threads_insert): ditto
  (rb_vm_living_threads_remove): ditto
* vm.c (rb_vm_living_threads_foreach): new function wrapper
* thread.c (terminate_i, thread_start_func_2, thread_create_core,
  thread_fd_close_i, thread_fd_close): update to use new APIs
* vm.c (vm_mark_each_thread_func, rb_vm_mark, ruby_vm_destruct,
  vm_memsize, vm_init2, Init_VM): ditto
* vm_trace.c (clear_trace_func_i, rb_clear_trace_func): ditto
* benchmark/bm_vm_thread_close.rb: added to show improvement
* ccan/build_assert/build_assert.h: added as a dependency of list.h
* ccan/check_type/check_type.h: ditto
* ccan/container_of/container_of.h: ditto
* ccan/licenses/BSD-MIT: ditto
* ccan/licenses/CC0: ditto
* ccan/str/str.h: ditto (stripped of unused macros)
* ccan/list/list.h: ditto
* common.mk: add CCAN_LIST_INCLUDES
  [ruby-core:61871][Feature 9632 (part 1)]

Apologies for the size of this commit, but I think a good
doubly-linked list will be useful for future features, too.
This may be used to add ordering to a container_of-based hash
table to preserve compatibility if required (e.g. feature 9614).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-10 23:48:51 +00:00
akr db9d8759ee * common.mk: Unused target, $(MKMAIN_CMD), removed.
* Makefile.in (MKMAIN_CMD): Unused macro removed.

* win32/Makefile.sub (MKMAIN_CMD): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-13 01:21:39 +00:00
hsbt 1f20820054 * common.mk: Use redmine-2.x url for DeveloperHowto wiki.
[ruby-core:60657] [Bug #9511]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-02 06:15:19 +00:00
nobu 10cf7c5b2a hash.c: use ID_SCOPE_SHIFT
* hash.c (rb_any_hash): use ID_SCOPE_SHIFT instead of magic number.
  [Feature #9425]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-23 01:10:12 +00:00
ko1 1ccaa4756a * internal.h, vm_core.h: move LIKELY/UNLIKELY/UNINITIALIZED_VAR()
macros from vm_core.h to internal.h.
* string.c: remove dependency to "vm_core.h".
* common.mk: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-05 04:58:00 +00:00
nobu 9a9f5f0f93 common.mk: fix command error
* common.mk (capi): flags cannot be separated by escaped newlines.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-16 05:54:32 +00:00
nobu 9707b23d71 common.mk: ignore capi failure
* common.mk (capi): ignore doxygen failure (temporarily).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 23:23:17 +00:00
nobu 5e9b7bacc3 ruby/util.h: DECIMAL_SIZE_OF_BITS
* include/ruby/util.h (DECIMAL_SIZE_OF_BITS): a preprocessor
  constant macro to approximate decimal representation size of n-bits
  integer.
* iseq.c (register_label): use DECIMAL_SIZE_OF_BITS for better
  approximation.
* ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto.
* common.mk (iseq.o), ext/bigdecimal/depend (bigdecimal.o): add
  dependency to ruby/util.h for DECIMAL_SIZE_OF_BITS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-12 00:21:37 +00:00
nobu fe5554af85 verconf.h.tmpl: rename
* template/verconf.h.tmpl: rename from .in since this is an erb
  template file, but not for config.status.

* common.mk (verconf.h): rename the dependent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-27 05:46:01 +00:00
kanemoto 9109292789 avoid circular dependency on AIX
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 11:33:59 +00:00
nobu 72807178f3 common.mk: use BASERUBY
* common.mk (Doxyfile): tool/file2lastrev.rb needs running with
  BASERUBY since r43617.  [ruby-dev:47823] [Bug #9169]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-28 04:56:08 +00:00
ko1 be26a374e9 * common.mk: add useful config "set breakpoint pending on"
for run.gdb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-26 10:30:42 +00:00
nobu 28849ce257 ext/rbconfig/sizeof: move to an extension library
* common.mk, ext/rbconfig/sizeof: move RbConfig::SIZEOF to an
  extension library to get rid of annoying nmake VPATH rule.

* inits.c (rb_call_inits), miniinit.c (Init_sizes): RbConfig::SIZEOF
  is no loger built-in.

* template/sizes.c.tmpl (Init_sizeof): rename initialization function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 14:19:16 +00:00
tarui a50ce9498c * common.mk (help): add texts about gcbench.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-06 10:32:40 +00:00
akr 674f14a0bc * common.mk, ext/objspace/depend, ext/coverage/depend,
ext/-test-/debug/depend, ext/date/depend: Update dependencies.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-28 03:43:17 +00:00
nobu 02d28d01cf ruby.c: gem_prelude to load rubygems
* ruby.c (process_options): use gem_prelude instead of requiring
  rubygems directly when --enable=gems is given.
* Makefile.in (DEFAULT_PRELUDES): always use gem_prelude regardless of
  --disable-rubygems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-14 03:22:24 +00:00
nobu a10c9a0e76 common.mk: revert r43137 and r43145
* common.mk (sizes.c): revert r43137 and r43145, because the former
  commit made sizes.c rebuild always each build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-05 01:02:15 +00:00
nobu 156eb84808 common.mk: sizes.c depends on PREP now
* common.mk (sizes.c): now depends on PREP, which is miniruby if
  native compile or fake.rb otherwise, to run MINIRUBY [Bug #8968]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-05 00:18:54 +00:00
nobu 0f8032ba2b common.mk: make sizes.c with MINIRUBY
* common.mk (sizes.c): use MINIRUBY because Init_sizes() for miniruby
  is defined in miniinit.c and miniruby does not depend on this file.
  [Bug #8968]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-04 07:36:22 +00:00
nobu 870dc20922 common.mk: use RUNRUBY for test-sample
* common.mk (yes-test-sample): use RUNRUBY instead of MINIRUBY to set
  runtime library path and run the built ruby.  [Bug #8971]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-03 04:42:55 +00:00
nobu 8be7ad2b6d common.mk: RUN_OPTS to tests
* common.mk (btest, btest-ruby, test-knownbug): add $(RUN_OPTS) to
  ruby to be run, so that tests are runnable before making exts.
* common.mk (test-sample): ditto, and use $(MINIRUBY) as rubytest.rb
  does not need extension libraries.
* tool/rubytest.rb: pass $(RUN_OPTS) to testing ruby using --run-opt.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 14:24:10 +00:00
nobu c95d5b250d common.mk, win32/Makefile.sub: refix sizez.c for nmake
* common.mk (sizes.c): revert r42854 and r42883.

* win32/Makefile.sub (sizes.c): rule for outplace build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-08 03:54:41 +00:00
nobu 2b44bbf697 common.mk: in-place build
* common.mk (sizes.c): try to fix for in-place build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-07 22:03:17 +00:00
glass e334bb2ce5 * common.mk: use RUNRUBY instead of MINIRUBY because MINIRUBY can't
require extension libraries. The patch is from nobu
  (Nobuyoshi Nakada).

* ext/thread/extconf.rb: for build ext/thread/thread.c.

* include/ruby/intern.h: ditto.

* thread.c: ditto.

* lib/thread.rb: removed and replaced by ext/thread/thread.c.

* ext/thread/thread.c: Queue, SizedQueue and ConditionVariable
  implementations in C. This patch is based on patches from panaggio
  (Ricardo Panaggio) and funny_falcon (Yura Sokolov) and  ko1
  (Koichi Sasada). [ruby-core:31513] [Feature #3620]

* test/thread/test_queue.rb (test_queue_thread_raise): add a test for
  ensuring that killed thread should be removed from waiting threads.
  It is based on a code by ko1 (Koichi Sasada). [ruby-core:45950]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-06 15:15:07 +00:00
nobu 64455007e6 common.mk: sizes.c for nmake
* common.mk (sizes.c): needs VPATH to outplace build with nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-06 05:23:25 +00:00
nobu 21d7cd3988 sizes.c.tmpl: autogenerate
* template/sizes.c.tmpl: generate automatically by extracting
  RUBY_CHECK_SIZEOF from configure.in.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-26 03:37:15 +00:00
nobu 8fba9bbc4b common.mk: install arch
* common.mk (do-install-arch): install architecture dependent files
  all, including libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-08 15:15:44 +00:00
naruse a9a4da925c * common.mk (mini): portable target to build miniruby
* common.mk (bisect): run git-bisect with miniruby

* common.mk (bisect-ruby): run git-bisect with ruby

* tool/bisect.sh: script for git-bisect

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-08 05:54:08 +00:00
nobu 8d564597fa win32.c: conversion to WCHAR
* win32/win32.c (rb_w32_write_console): use MultiByteToWideChar() for
  the last step of conversion to WCHAR, to get rid of warnings from
  rb_enc_find() in miniruby.  [ruby-dev:47584] [Bug #8733]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-05 08:38:39 +00:00
nobu 9f06167a26 sizes.c: RbConfig::SIZEOF
* sizes.c (Init_sizes): define RbConfig::SIZEOF.  [Feature #8568]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-29 13:55:29 +00:00
naruse 2998934ccb Change repository of rubyspec from original to nurse's
Because RubySpec often include tests which fails on CRuby even if
RubySpec is a test suite which verifies whether an implementation is
compatible with CRuby or not. Moreover recent mspec can't ignore specs
guarded with ruby_bug. It breaks running RubySpec with Ruby 1.8 because
those guards is used to avoid specs which cause stuck or crash.
Therefore we gave up tracking original and dicided to fork.

https://github.com/nurse/rubyspec

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-25 07:31:10 +00:00
ko1 bd058912da * thread_native.h: added.
Move native thread related lines from vm_core.h.
  And declare several functions "rb_nativethread_lock_*",
  manipulate locking.
* common.mk: add thread_native.h.
* thread.c: add functions "rb_nativethread_lock_*".
* thraed.c, thread_[pthread,win32].[ch]: rename rb_thread_lock_t
  to rb_nativethread_lock_t to make it clear that this lock is for
  native thraeds, not for ruby threads.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-23 09:53:14 +00:00
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