* common.mk ($(arch)-fake.rb): read from STDIN instead of creating
version.i, to get rid of conflict with tool/update-deps.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This speeds up the hash function for dynamic symbols.
[ruby-core:70129] [Bug #11396], nearly up to Ruby 2.1 levels
Power-of-two hash sizing [Feature #9425] speeds up cases where we
have a good hash, but this means we can no longer hide behind weak
hashes. Unfortunately, object IDs do not hash well, but we may
use the extra space in the RSymbol struct to memoize the hash value.
Further optimizations should be possible. For now, the st.c APIs
force us to calculate rb_str_hash redundantly at dsym registration.
* symbol.h (struct RSymbol): add hashval field
* symbol.c (dsymbol_alloc): setup hashval field once
* hash.c (rb_any_hash): return RSymbol->hashval directly
* common.mk: hash.o depends on symbol.h
Thanks to Bruno Escherl <bruno@escherl.net> for the bug report
[ruby-core:70129] [Bug #11396]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (distclean-local): clean preludes in the build
diretory, not by realclean.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (clean, distclean): clean local files before platform
directory, some files may exist there.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: fix macro name, exec but not EXEC. pointed by
@nagachika.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* random.c (fill_random_bytes_syscall): try getrandom system call
on Linux if supported by the kernel.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (ENC_MK): reorder $(ENCS) before the target file name,
as enc/make_encmake.rb ignores any arguments after the target.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (update-man-date): update last date in man pages.
* tool/vcs.rb (VCS#modified): returns last modified time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk, tool/mkconfig.rb: check the running ruby version in
rbconfig.rb with the program version, as RUBY_VERSION has never
been affected by --with-ruby-version option.
[ruby-core:68639] [Bug #11002]
* configure.in (LIBRUBY_DLDFLAGS): compatibility_version must be
valid version numbers, not an arbitrary string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (enc.mk): use BOOTSTRAPRUBY since enc/make_encmake.rb
should not depend on recent versions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (ext/ripper/ripper.c, ext/rbconfig/sizeof/sizes.c):
strip autogenerated dependencies which have invalid syntax in
other than nmake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (verconf.h): use BOOTSTRAPRUBY as generic_erb.rb and
the template are not dependent on built-in constants.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
and related functions from node.h to internal.h.
* variable.c: remove unused include pragma.
* common.mk: remove unused dependency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (MINIOBJS): no longer need dmyenc.o.
* miniinit.c (Init_enc): declare minimum built-in encodings so
that these Encoding constants will be available in miniruby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (fake.rb): generate from same template on all
platforms including win32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/mkconfig.rb: use arguments instead of built-in constants
to work without fake.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (test-rubyspec): use fake script to set header
directories.
* template/fake.rb.in (RUBYOPT): set -r option to propagate to
forked processes.
* tool/fake.rb (prehook): set rubyarchhdrdir too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (TESTOPTS): initialize by the environment variable
RUBY_TESTOPTS, which is prefixed to get rid of conflict.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (ENC_TRANS_D): prefix by "." to clarify that timestamp
file for build directory is under the build directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (LIBRUBY_SO): make symbols for static IDs which
begin with ruby_static_id_ local too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
in common.mk (in which OBJ is defined) because of Makefile include
and parse order. This partly reverts r49419.
[ruby-dev:48849] [Bug #10808]
* Makefile.in (ruby-glommed.o): ditto.
* Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because
it is included in $(OBJS) since r49451.
* Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (COMMONOBJS): include $(DTRACE_OBJ) which is necessary
for $(DTRACE_DEPENDENT_OBJS).
* configure.in (RUBY_DTRACE_POSTPROCESS): separate whether dtrace
is needed to genearate probes.o and whether it modifies input
object files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (clean): clean local at last, and remove enc/trans.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (VPATH, NEWLINE_C), common.mk (common-srcs): make
and use newline.c under enc/trans directory, not toplevel. no
longer search enc directory implicitly.
* configure.in, enc/Makefile.in (BUILTIN_ENCS, BUILTIN_TRANSES):
prefix respective directory names to builtin encodings and
transcoder source names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (unicode.o): fix unicode header locations, so that the
rule for name2ctype.h works.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (extract-gems): extract gem files to install them even
if zlib is not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e