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

985 Коммитов

Автор SHA1 Сообщение Дата
nobu 7dae53f371 relative path as VPATH
* common.mk (ripper.c): use relative path as VPATH instead of
  absolute path of the current working directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-07 14:21:10 +00:00
nobu fd6853a229 stale targets
* common.mk (update-mspec, update-rubyspec): empty stale targets.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-07 13:40:56 +00:00
eregon ed7d803500 make update-rubyspec is no longer needed
* Kept a no-op for compatibility.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-07 12:01:26 +00:00
nobu 8727dce2bf fix up r58573
* common.mk: make the directory for extension shared library with
  the timestamp directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-06 14:12:30 +00:00
duerst 0324e76d56 remove enc/prelude.rb from list of prelude files in common.mk
(This is a retry of r58559, it should work now that rubyspec does
no longer check for unicode_normalized to be required. See also
41176ead68.)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-06 02:54:02 +00:00
nobu 6b4fc043db timestamp for extensions
* common.mk: use the same timestamp file for architecture specific
  directory as the file used in Makefiles under ext.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-06 00:54:22 +00:00
duerst 05e82555e1 revert 58559, because it fails on travis (rubyspec problem)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-04 05:07:20 +00:00
duerst 1e793b64e9 remove enc/prelude.rb from list of prelude files in common.mk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-04 04:53:33 +00:00
nobu d5c776ad58 mkconfig.rb: remove cross_compiling
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-02 12:45:07 +00:00
nobu 842a05d2f8 common.mk: BOOTSTRAPRUBY for enc.mk
* common.mk ($(ENC_MK)): use $(BOOTSTRAPRUBY) as well as $(RBCONFIG),
  instead of $(MINIRUBY).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-02 12:45:04 +00:00
nobu 74a5dc5825 fix ripper prereq
* common.mk (ext/ripper/ripper.c): fix VPATH when out-of-place
  build, and id.h was created in the build directory too.  it has
  to include the build directory, i.e., the current directory
  before `cd`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-27 12:30:55 +00:00
ko1 de1a9d6565 revert r58478 and r58479 because they do not support not in-place build
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-25 17:24:06 +00:00
eregon 6d98992111 No need to pass the config file to mspec as mspec finds it itself
* It would also #load (because .mspec cannot be #require'd) it twice.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-25 12:45:25 +00:00
nobu ee691feac8 Update sources and include files after update
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-22 00:18:08 +00:00
rhe 70c9bb4b81 Remove missing/strtol.c
It is never used. We don't need it anyway as it's part of C89 which is
our current minimum requirement.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-21 06:03:12 +00:00
nobu bdc6d41640 ext/extmk.rb: colorize notes [Feature #13302]
* common.mk (build-ext): pass variables to colorize.

* ext/extmk.rb: colorize notes with tool/colorize.rb.

* tool/colorize.rb: extract from tool/generic_erb.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-21 03:01:12 +00:00
nobu 23e481e390 common.mk: separate note
* common.mk (build-ext): separate note from building extensions,
  not to be intermingled.  [ruby-core:80759] [Feature #13302]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-20 08:31:20 +00:00
normal c68ec6f147 time.c: use predefined IDs
This reduces rb_intern calls during startup and shortens code.

* time.c: include id.h for predefined IDs
  (id_mul, id_eq, id_ne, id_cmp): remove static variables
  (eq): replace id_eq with idEq
  (cmp, wcmp): replace id_cmp with idCmp
  (weq): replace id_eq with idEq
  (time_timespec): replace id_mul with '*'
  (Init_Time): remove rb_intern calls for removed variables
* common.mk (time.$(OBJEXT)): add depend on id.h

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-10 18:16:58 +00:00
nobu 0ab20b48c5 Add --with-git option
* configure.in, win32/configure.bat: add --with-git option to
  tell git command to use, or not to use git.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-10 01:22:48 +00:00
sorah 225435514c Fix `make clean` errors
Patch by Kohei Suzuki <eagletmt@gmail.com>.

* common.mk(clean-rubyspec): Supress error messages when rubyspec files
  don't exist. [GH-1563] [Bug #13384]

* Makefile.in: Fix error when files don't exist. [GH-1563] [Bug #13384]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-29 09:24:10 +00:00
nobu 0e22e24de5 common.mk: test-rubyspec
* common.mk (yes-test-rubyspec): make jobserver ready.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-26 00:50:59 +00:00
nobu 7cdf09cac7 Do not update Unicode headers
* common.mk (name2ctype.h, casefold.h): use as checked out unless
  ALWAYS_UPDATE_UNICODE=yes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-24 04:37:28 +00:00
nobu f5e265949f common.mk: touch-unicode-files
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-24 02:44:21 +00:00
nobu 489c1e33e3 Make Unicode data directory
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-24 01:10:46 +00:00
nobu 96069e9573 Don't download from Unicode.org
* .travis.yml, appveyor.yml: use checked out headers for Unicode,
  to get rid of downloading data files from Unicode.org.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-23 23:55:29 +00:00
nobu a7b8741e44 common.mk: updating name2ctype.h
* common.mk (name2ctype.h): update if ALWAYS_UPDATE_UNICODE = yes,
  as well as casefold.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-23 15:47:26 +00:00
shyouhei 20c72dc89d ruby tool/update-deps --fix
Onigumo 6 (r57045) introduced new onigumo.h header file, which is
required from quite much everywhere.  This commit adds necessary
dependencies.

Note: ruby/oniguruma.h now includes onigumo.h,
      ruby/io.h includes oniguruma.h,
      ruby/encoding.h also includes oniguruma.h,
      and internal.h includes encoding.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-22 06:00:18 +00:00
nobu c51de81d8e common.mk: ignore clean-rubyspec error [ci skip]
* common.mk (clean-rubyspec): nothing to clean before running
  rubyspec.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-10 13:46:22 +00:00
nobu b80c265fa4 debug_counter.c: debug_counter_names [ci skip]
* debug_counter.c (debug_counter_names): stringize debug counter
  names by preprocessor.

* debug_counter.h (RB_DEBUG_COUNTER): define counter names outside
  the include guard, to expand multiple times.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-10 07:18:03 +00:00
nobu 2a20b491f0 great love
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-08 13:52:32 +00:00
nobu 3a520acec3 MINIRUBY for cross-compling
* template/configure-ext.mk.tmpl (EXTMK_ARGS): add MINIRUBY for
  cross-compling, which is used in extmk.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-03 06:22:47 +00:00
nobu 6e0967ec6d fix for cross-compiling
* common.mk (test-rubyspec): add dependency for cross-compiling.

* defs/gmake.mk: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-02 04:54:18 +00:00
nobu 3cef10489a common.mk: separate clean-ext
* common.mk (clean-ext): separate clean-up of makefiles and
  timestamps, and clean-up of subdirectories under ext and gems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-01 07:53:15 +00:00
nobu 6fd71da067 common.mk (distclean): clean docs too
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27 13:22:05 +00:00
nobu d7921849c0 common.mk: clean-rubyspec
* common.mk (clean-rubyspec): remove OBJDIR for rubyspec C-API
  tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27 07:54:24 +00:00
nobu 391f13c657 clean more
* Makefile.in (clean-local): remove debug symbol directories on
  Mac OS.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27 06:39:28 +00:00
nobu 5732225102 bignum.c: use predefined IDs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-25 07:27:07 +00:00
ko1 76c4cca19c add performance counting mechanism for MRI debug/tuning purpose.
* How to enable this feature?
  * define USE_DEBUG_COUNTER as 1.
  * you can disable to output the result with
    RUBY_DEBUG_COUNTER_DISABLE environment variable
    even if USE_DEBUG_COUNTER == 1.

* How to add new counter?
  * add COUNTER(<name>) line on debug_counter.h.
  * include "debug_counter.h"
  * insert RB_DEBUG_COUNTER_INC(<name>) line on your favorite place.

* counter output example:
  [RUBY_DEBUG_COUNTER]    mc_inline_hit   999
  [RUBY_DEBUG_COUNTER]    mc_inline_miss  3
  [RUBY_DEBUG_COUNTER]    mc_global_hit   23
  [RUBY_DEBUG_COUNTER]    mc_global_miss  273
  [RUBY_DEBUG_COUNTER]    mc_global_state_miss    3
  [RUBY_DEBUG_COUNTER]    mc_class_serial_miss    0
  [RUBY_DEBUG_COUNTER]    mc_cme_complement       0
  [RUBY_DEBUG_COUNTER]    mc_cme_complement_hit   0
  [RUBY_DEBUG_COUNTER]    mc_search_super 1384
  [RUBY_DEBUG_COUNTER]    ivar_get_hit    0
  [RUBY_DEBUG_COUNTER]    ivar_get_miss   0
  [RUBY_DEBUG_COUNTER]    ivar_set_hit    0
  [RUBY_DEBUG_COUNTER]    ivar_set_miss   0
  [RUBY_DEBUG_COUNTER]    ivar_get        431
  [RUBY_DEBUG_COUNTER]    ivar_set        465

  * mc_... is related to method caching.
  * ivar_... is related to instance variable accesses.

* compare with dtrace/system tap features, there are completely
  no performacne penalties when it is disabled.

* This feature is supported only on __GNUC__ compilers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-21 08:18:15 +00:00
nobu 44e36c79d2 gmake.mk: tests step
* defs/gmake.mk (TEST_TARGETS): run tests step by step.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-13 05:11:14 +00:00
nobu 92b710e64b MFLAGS for nmake
* common.mk (mflags): pass make flags to sub-makes, for nmake
  which cannot pass them by the environment variable.

* defs/gmake.mk (mflags): filter out -j option for sub-makes.

* template/exts.mk.tmpl (MFLAGS): extract MFLAGS from sub extmk
  files for nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-10 06:12:22 +00:00
nobu 65e5321adf common.mk: suppress debugging messages
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-06 02:35:47 +00:00
nobu 0fe47fad55 test/unit.rb: share job slots
* test/lib/test/unit.rb (Test::Unit::Parallel#_run_parallel):
  share job slots with GNU 'make'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 12:52:09 +00:00
nobu c2310e8598 common.mk: remove explicit MFLAGS
It is unnecessary to pass MFLAGS to sub-makes, because it is
evaluated implicitly if set by make.  GNU make 4.2 sets both of
-jN and --jobserver-auth (or --jobserver-fds in older versions)
options which conflict.  And it is useless for command line macros
since Microsoft NMAKE does not set them.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 04:54:04 +00:00
nobu 886e8f75ca common.mk: limits.c
* common.mk (ext/rbconfig/sizeof/sizes.c): specify the target
  explicitly.

* common.mk (ext/rbconfig/sizeof/limits.c): add the recipe.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-30 12:00:34 +00:00
nobu df05027c2d exts.mk.tmpl: for not GNU makes
* template/exts.mk.tmpl: use `cd` then `make` instead of `make -C`
  when not GNU make.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-27 07:16:36 +00:00
nobu 72ad0019ba Parallel gem configuration
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-26 08:19:34 +00:00
nobu 48d489030a configure-ext.mk.tmpl: embed macros
* template/configure-ext.mk.tmpl: embed MINIRUBY and SCRIPT_ARGS
  to get rid of quoting problems of nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-23 04:22:23 +00:00
nobu f41b7517dc Fix for nmake
* common.mk (EXT_MK): use double-quotes and remove SCRIPT_ARGS
  which contains both types of quotes.

* template/configure-ext.mk.tmpl (all): use single-quotes for MAKE
  which is set by nmake and contains spaces in the path. do not
  use SCRIPT_ARGS.

* template/exts.mk.tmpl (all, static): separate dependency lines,
  not to become a default target unintentionally.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-23 03:51:25 +00:00
nobu 17b748df2b Parallel ext configuration
* ext/configure-ext.mk: configure each directories underneath ext
  in parallel.

* template/exts.mk.tmpl: then collect the results.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-23 02:50:23 +00:00
nobu 78b95b49f8 template/extinit.c.tmpl
* template/extinit.c.tmpl: separate from ext/extmk.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-22 12:50:36 +00:00