summaryrefslogtreecommitdiff
path: root/common.mk
AgeCommit message (Collapse)Author
2016-08-11merge revision(s) 55434: [Backport #12401]nagachika
* common.mk (build-ext), ext/extmk.rb: use variable EXTENCS different than ENCOBJS, to get rid of circular dependency. build libencs when linking encodings statically. [ruby-core:75618] [Bug #12401] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@55871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-18merge revision(s) 54086,54211,54233: [Backport #12199]naruse
* test/lib/test/unit.rb (Options#non_options): make regexp name options prefixed with "!" negative filters. * common.mk (TEST_EXCLUDES): use negative filter to exclude memory leak tests. -x option excludes test files, not test methods. * common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell long option. * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL): suppress path name conversions by msys2. [ruby-dev:49525] [Bug #12199] * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM): * add missing parentheses and remove double quotes. * rename to get rid of recursive references. * as --excludes-dir option is for a path name, its argument should be converted. [ruby-dev:49526] [Bug #12199] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@54627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-29merge revision(s) 53517,53519,53521,53522,53523,53526,53527:naruse
drop osx and clang because they are often fails and slow * .travis.yml: removed osx code. follow up with r53517 * .travis.yml: removed commented-out code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@54356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24* common.mk (fake.rb): $(arch)-fake.rb must depend miniruby becausenaruse
it may depend miniruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24* common.mk (ripper.c): r50045 wrongly replace $(PWD) with ../..naruse
It is the top of build directory, not topsrcdir. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-12common.mk: help of exam [ci skip]nobu
* common.mk (help): mention `exam` target. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-12common.mk: more optsnobu
* common.mk (help): separate TESTOPTS and TESTS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-12add insight about parallel test-allnaruse
see also https://bugs.ruby-lang.org/projects/ruby/wiki/DeveloperHowto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-11common.mk: add dependenciesnobu
* common.mk: add dependencies of compile.o for r52949. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-09Revert r52995nobu
revert slow atomic operations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-09use atomic operationsnobu
* regcomp.c (onig_chain_link_add): use atomic operation instead of mutex. * regint.h (ONIG_STATE_{INC,DEC}_THREAD): ditto. * regparse.c (PopFreeNode, node_recycle): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-30* missing/explicit_bzero.c: new file. define explicit_bzero.kosaki
* common.mk: add a rule for explicit.o. * configure.in: detect explicit_bzero and memset_s. * include/ruby/missing.h: add explicit_bzero. * random.c (init_randomseed): use explicit_bzero() instead of memset(). memset could be eliminated by compiler optimization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18* ext/extmk.rb (--extflags): new option to pass EXTLDFLAGS to children,usa
expecially exts.mk. * common.mk (EXTMK_ARGS): use above option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-09* test/runner.rb: use official repository for coverage tool.hsbt
* Makefile.in: ditto. * common.mk: ditto. * .gitignore: ignored third party repositories. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-09* common.mk: Use ruby organization url for simplecov repository.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-07common.mk: update dependencynobu
* common.mk: update dependency of string.o to id.h for r52479. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23common.mk: remove extra slashnobu
* common.mk (incs): remove extra slash before vm_call_iseq_optimized.inc. as nmake vpath syntax includes a separator, don't append it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23common.mk: vm_call_iseq_optimized.incnobu
* common.mk (incs): generate vm_call_iseq_optimized.inc too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23* vm_insnhelper.c: introduce new call handler for simple ISeqs.ko1
vm_call_iseq_setup_normal_0start() is simple, however it has some loops/conditions depends on ISeq::param.size and ISeq::local_size (in vm_push_frame(), inlined into this function). There are many simple methods which has a few parameters and local variables. So that this patch introduces several special functions generated in vm_call_iseq_optimized.inc by tool/mk_call_iseq_optimized.rb. This script makes vm_call_iseq_setup_normal_0start_Xparams_Ylocals() where X is 0 to 3 and Y is 1 to 6 (as current setting). In this case, X * Y = 24 functions are created. These functions creates fast method dispatch by inlining vm_push_frame() with immediate params/locals sizes. On my laptop, we can have the following results. vm2_method* 1.083 (8.3% faster) vm2_poly_method* 0.961 (3.4% slower) It shows 8.3% faster for inner loop method dispatch (hit inline cache), but 3.4% slower when inline cache miss because we need to find a suitable call handler. * common.mk: add a rule for vm_call_iseq_optimized.inc. * tool/mk_call_iseq_optimized.rb: added. * vm.c: include vm_call_iseq_optimized.inc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22common.mk: showflags only oncenobu
* common.mk (showflags): do not show flags from recursive make. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-19fix typos [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18* common.mk: add a comment how to use "make test-all"kosaki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18* common.mk: add comments how to use "make benchmark"kosaki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18* ChangeLog: Good-bye OS/2.kosaki
* common.mk: ditto. * configure.in: ditto. * dln_find.c: ditto. * ext/Setup.emx: ditto. * ext/extmk.rb: ditto. * ext/socket/extconf.rb: ditto. * ext/zlib/extconf.rb: ditto. * file.c: ditto. * include/ruby/defines.h: ditto. * io.c: ditto. * lib/mkmf.rb: ditto. * missing/os2.c: ditto. * process.c: ditto. * ruby.c: ditto. * NEWS: announce OS/2 is no longer supported. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-17* ruby.c (open_load_file): reset O_NONBLOCK after open.kosaki
Even if S_ISREG() is true, the file may be file on FUSE filesystem or something. We can't assume O_NONBLOCK is safe. Moreover, we should wait if the path is point to FIFO. That's FIFO semantics. GVL should be transparent from ruby script. Thus, just reopen without O_NONBLOCK for filling the requirements. [Bug #11060][Bug #11559] * ruby.c (loadopen_func): new for the above. * file.c (ruby_is_fd_loadable): new. for checks loadable file type of not. * file.c (rb_file_load_ok): use ruby_is_fd_loadble() * internal.h: add ruby_is_fd_loadble() * common.mk: now, ruby.o depend on thread.h. * test/ruby/test_require.rb (TestRequire#test_loading_fifo_threading_success): new test. This test successful case that loading from FIFO. * test/ruby/test_require.rb (TestRequire#test_loading_fifo_threading_raise): rename from test_loading_fifo_threading. You souldn't rescue an exception if you test raise or not. Moreover, this case should be caught IOError because load(FIFO) should be blocked until given any input. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-16file.c: non-blocking opennobu
* file.c (rb_file_load_ok): open in non-blocking mode withoout releasing GVL. don't care about others than regular files and directories. [ruby-dev:49272] [Bug #11559] * ruby.c (load_file_internal): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-09common.mk: separate test-testframeworknobu
* common.mk (check): separate test-testframework from test-all only when building check. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-04gmake.mk: test ordernobu
* common.mk (test-almost): rename target to test other than test-frameworks. * defs/gmake.mk (test-almost): run after test-testframework. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-03common.mk: separate testsnobu
* common.mk (check): separate test-testframework and test-all. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-02common.mk, lib/unicode_normalize/tables.rb: Change Unicodeduerst
Version for character normalization data from 7.0.0 to 8.0.0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-26common.mk: clear envs for GEMnobu
* common.mk: clear environment variables for GEM paths to get rid of searching unexpected gems. fix failures on travis-ci. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-18common.mk: no prefixesnobu
* common.mk (yes-test-testframework): remove unnecessary test directory prefixes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-17* common.mk: fix command error with outside builddir.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-17* common.mk: separated test for test-framework from test-all task.hsbt
They should be invoke at first before tests of test-all. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15dir.c: fundamental_encoding_pnobu
* dir.c (fundamental_encoding_p, push_glob): compare by encoding index immediately. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15win32.c: encindex.hnobu
* win32/win32.c: needs encindex.h for encoding indexes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15localeinit.c: encindex.hnobu
* localeinit.c: needs encindex.h for ENCINDEX_US_ASCII and ENCINDEX_ASCII. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15enc: fundamental encindexnobu
* enc/{ascii,us_ascii,utf_8}.c: set encoding indexes of fundamental built-in encodings so that usable as well as allocated rb_encoding before rb_enc_init(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15encindex.h: ENCINDEXnobu
* encindex.h: separate encoding index constants from internal.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-14common.mk: excluding options to test-rubynobu
* common.mk (yes-test-ruby): apply excluding options as well as "test". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-09* common.mk (update-gems): use BASERUBY instead of RUNRUBY.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-03common.mk: exclude memory leak testsnobu
* common.mk (TEST_EXCLUDES): exclude tests for memory leak, often too expensive and/or false-positive. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-01* thread_tools.c: rename thread_tools.c to thread_sync.c.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-25win32.c: rb_w32_reparsenobu
* win32/win32.c (rb_w32_reparse): read reparse point in a dynamic buffer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-21* ext/thread/thread.c: move definitions of Queue, SizedQueueko1
and ConditionalVariables to thread_tools.c. In other wowrds, such classes are built-in. [Feature #8919] At first, I planned to embed only a Queue class. However, rubygems requires 'thread.rb' (rubygems are required at first, when launch MRI without --disable-gems). So most of people require 'thread.rb' as an embedded library. Now, ext/thread/thread.c is empty, only for a dummy for compatibility. * thread.c: move a definition of Mutex class to thread_tools.c. And define Mutex class under Thread (so now Mutex is Thread::Mutex). Because other thread related classes are also defined under Thread. We remain ::Mutex as Thread::Mutex. Only an inspect result is changed. * common.mk: add dependency from thread.o to thraed_tools.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-12* remove trailing spaces.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-12* id_table.h: introduce ID key table.ko1
[Feature #11420] This table only manage ID->VALUE table to reduce overhead of st. Some functions prefixed rb_id_table_* are provided. * id_table.c: implement rb_id_table_*. There are several algorithms to implement it. Now, there are roughly 4 types: * st * array * hash (implemented by Yura Sokolov) * mix of array and hash The macro ID_TABLE_IMPL can choose implementation. You can see detailes about them at the head of id_table.c. At the default, I choose 34 (mix of list and hash). This is not final decision. Please report your suitable parameters or your data structure. * symbol.c: introduce rb_id_serial_t and rb_id_to_serial() to represent ID by serial number. * internal.h: use id_table for method tables. * class.c, gc.c, marshal.c, vm.c, vm_method.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-10win32.c: use ruby_strdupnobu
* win32/win32.c (getifaddrs): use ruby_strdup instead of combination ruby_xmalloc, lstrlen and lstrcpy. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30common.mk: PHONY should be phony [ci skip]nobu
* common.mk (PHONY): should not depend on any real files, not to make those dependencies inadvertently. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30common.mk: no version.inobu
* common.mk (clean-local): version.i is no longer generated automatically. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e