compiled output file name explicitly.
* enc/Makefile.in, enc/depend: now makes compiler to put generated
files under directories corresnponding to the each source.
enc/trans supported.
* enc/make_encmake.rb: evaluates depend file before Makefile.in so
that the former can influence to CONFIG.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
+ normal make: MFLAGS are set and command line options and macros
are all passed silently.
+ GNU make: ditto, and all options and macros in MAKEFLAGS are in
effect.
+ nmake: MFLAGS is not set and MAKEFLAGS has only options without
hyphen, no macros exist in any variables.
+ Borland make: ditto, and command line macros cannot override
macros in makefile, so passing them is vain.
* {bcc32,win{32,ce}}/Makefile.sub (SET_MAKE): set MFLAGS which is not
set by default, to get rid of chaotic situation of MFLAGS/MAKEFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* transcode_data_one_byte: slightly optimized
* transcode_data_japanese: new data file for EUC-JP and SHIFT_JIS
(not yet optimized; tests to follow; data from
http://nkf.sourceforge.jp/ucm/{SJIS|eucJP}-nkf.ucm)
* common.mk, transcode.c: Adjusted for transcode_data_japanese
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* encoding.c (Init_Encoding): ISO-8859-1 is no longer a replica.
* regenc.h (OnigEncodingDefine): names of extension and encoding can
differ.
* enc/Makefile.in: always shared.
* enc/depend (deffile): should not upcase.
* enc/{ascii,euc_jp,sjis,utf8,iso_8859_{1..16}}.c: fix for Init.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enc/Makefile.in: became a serb template.
* enc/make_encmake.rb: creates enc.mk from enc/Makefile.in using serb.
* lib/mkmf.rb (relative_from): moved from ext/extmk.rb.
* lib/mkmf.rb ($extmk): true if under to top source directory, not
only ext.
* lib/mkmf.rb (depend_rules): extracted from create_makefile.
* tool/serb.rb (serb): splitted from tool/compile_prelude.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (.y.c): not discard the old target until successfully
created.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (node_name.inc, prelude.c): VPATH in nmake does not
work for targets of explicit rules.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
bison with sed. [ruby-dev:32204]
* ruby.c (proc_options): use yydebug in cmdline_options.
* ruby.c (process_options): set yydebug flag of parser.
* parse.y (yydebug): moved into struct parser_params.
* parse.y (rb_parser_get_yydebug, rb_parser_set_yydebug): parser
generic methods.
* */Makefile.sub (parse.c): moved to common.mk.
* tool/ytab.sed: comment out yydebug definition, and substitute
yyerror with parser_yyerror.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: generate ext_prelude.c by prelude.rb and gem_prelude.rb.
ruby (not miniruby) is linked with ext_prelude.o instead of prelude.o.
* inits.c (rb_call_inits): don't call Init_prelude.
* ruby.c: support --disable-gems option.
(ruby_init_gems): new function to define Gem::Enable and
invoke Init_prelude.
(process_options): call ruby_init_gems just after
ruby_init_loadpath.
* tool/compile_prelude.rb: support multiple files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (prelude.c): rollback a part of r13675, because it is not
documented and causes build error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_win32.ci, thread_win32.h, thread_pthread.ci, thread_pthread.h:
prepare native_cond_*() which are based on pthread_cond_*() spec.
* prelude.rb: fix Mutex#synchronize method.
* vm_core.h, include/ruby/intern.h: change unblock function interface
(to pass some user data).
* file.c, process.c: ditto.
* benchmark/bm_vm2_mutex.rb: add a benchmark for mutex.
* benchmark/bm_vm3_thread_mutex.rb: add a benchmark for mutex
with contension.
* benchmark/run.rb: fix to remove ENV['RUBYLIB'] for matzruby.
* test/ruby/test_thread.rb: add a test.
* common.mk: fix benchmark options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e