summaryrefslogtreecommitdiff
path: root/common.mk
AgeCommit message (Collapse)Author
2014-07-28common.mk: null device namenobu
* 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-18revert r46859 and r46860nobu
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-18enum.c: optimize any? object allocations for Array and Hashnobu
* 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-11symbol.c: remove dependency on parse.hnobu
* 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-09* common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solarisngoto
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-09symbol.c, symbol.h: split from parse.ynobu
* 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-07common.mk: integrate clean targetsnobu
* 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* parse.y: do not use rb_gc_resurrect(), but create a new dynamicko1
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-06* string.c (fstr_update_callback): do not use rb_gc_resurrect()ko1
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-05common.mk: ignore clean-runnable errorsnobu
* 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-05common.mk: remove sizes.onobu
* 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-05common.mk: empty by distcleannobu
* 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-04common.mk: move DEFAULT_PRELUDESnobu
* 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-03configure.in: fix static-linked-extnobu
* 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-03extmk.rb: GNU make -C optionnobu
* 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-06-19common.mk: fix dependenciesnobu
* 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-05-22constify character property tablesnobu
* 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-10vm*: doubly-linked list from ccan to manage vm->living_threadsnormal
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-04-13* common.mk: Unused target, $(MKMAIN_CMD), removed.akr
* 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-02* common.mk: Use redmine-2.x url for DeveloperHowto wiki.hsbt
[ruby-core:60657] [Bug #9511] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-23hash.c: use ID_SCOPE_SHIFTnobu
* 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-02-05* internal.h, vm_core.h: move LIKELY/UNLIKELY/UNINITIALIZED_VAR()ko1
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-01-16common.mk: fix command errornobu
* 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-15common.mk: ignore capi failurenobu
* 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-12ruby/util.h: DECIMAL_SIZE_OF_BITSnobu
* 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
2013-12-27verconf.h.tmpl: renamenobu
* 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-08avoid circular dependency on AIXkanemoto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-28common.mk: use BASERUBYnobu
* 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-26* common.mk: add useful config "set breakpoint pending on"ko1
for run.gdb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18ext/rbconfig/sizeof: move to an extension librarynobu
* 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-06 * common.mk (help): add texts about gcbench.tarui
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-28* common.mk, ext/objspace/depend, ext/coverage/depend,akr
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-14ruby.c: gem_prelude to load rubygemsnobu
* 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-05common.mk: revert r43137 and r43145nobu
* 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-05common.mk: sizes.c depends on PREP nownobu
* 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-04common.mk: make sizes.c with MINIRUBYnobu
* 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-03common.mk: use RUNRUBY for test-samplenobu
* 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-09-20common.mk: RUN_OPTS to testsnobu
* 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-08common.mk, win32/Makefile.sub: refix sizez.c for nmakenobu
* 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-07common.mk: in-place buildnobu
* 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-06* common.mk: use RUNRUBY instead of MINIRUBY because MINIRUBY can'tglass
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-06common.mk: sizes.c for nmakenobu
* 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-08-26sizes.c.tmpl: autogeneratenobu
* 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-08common.mk: install archnobu
* 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* common.mk (mini): portable target to build minirubynaruse
* 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-05win32.c: conversion to WCHARnobu
* 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-07-29sizes.c: RbConfig::SIZEOFnobu
* 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-25Change repository of rubyspec from original to nurse'snaruse
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-23* thread_native.h: added.ko1
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-20* common.mk (help): Fix environment variable name and argument.eregon
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