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

396 Коммитов

Автор SHA1 Сообщение Дата
akr 5f41f87d2b thread_pthread.h -> thread_$(THREAD_MODEL).h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-01 14:55:35 +00:00
akr bda6512f3e * common.mk: dependency updated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-01 14:17:37 +00:00
nobu 74dd31fadf * trunk/common.mk: not use -I$(srcdir)/lib with $(MINIRUBY) for cross
compiling.

* configure.in, {win,bcc}32/Makefile.sub (MINIRUBY): -I$(srcdir)/lib
  moved.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-30 21:50:40 +00:00
naruse 6c2849dd46 * configure.in: rm largefile.h.
* common.mk: clean golf, conf*, preludes, and so on.

* enc/depend: silent and ignore error for rm.

* enc/Makefile.in: should define prefix and exec_prefix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-30 02:00:59 +00:00
nobu 1b0ba5931d * common.mk (clean, distclean, realclean): should include clean-enc
and others.  [ruby-dev:32887]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-29 12:54:40 +00:00
usa 3bcd7c418b * common.mk (golf_prelude.c): use MINIRUBY instead of BASERUBY because
tool/compile_prelude.rb requires rbconfig.rb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-27 15:03:14 +00:00
nobu d050e46b8c * common.mk (parse.c): depends on tool/ytab.sed.
* tool/ytab.sed: hack for bison 2.1.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 12:26:11 +00:00
nobu 9b0bba0e37 * common.mk (realclean-enc): fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 07:18:44 +00:00
nobu 84d6f71195 * common.mk (clean-enc): clean encoding objects.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 07:15:18 +00:00
nobu 4496da18a8 * trunk/common.mk, goruby.c, golf_prelude.rb: for golfers.
* trunk/main.c (main): hook for embedding applications.

* trunk/tool/compile_prelude.rb: can change initialize function name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 07:04:30 +00:00
nobu b7db9036be * common.mk (COMMONOBJS): transcode_data_*.c moved under enc/trans.
* transcode_data.h (rb_transcoding, rb_transcoder): prefixed.

* transcode.c (rb_register_transcoder, rb_declare_transcoder): split
  declaration and registration.  [ruby-dev:32704]

* transcode.c (transcode_dispatch): autoload pre-declared transcoder.

* transcode.c (str_transcode): use rb_define_dummy_encoding().

* transcode.c (Init_transcode): initialize transcoder tables.

* enc/trans/single_byte.c, enc/trans/japanese.c: moved from top.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 05:57:04 +00:00
nobu 0beb35a75c * common.mk (node_name.inc, miniprelude.c, prelude.c): nmake cannot
handle target vpath in other than implicit rules.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24 08:40:59 +00:00
nobu 8d292a08df * Makefile.in, configure.in, lib/mkmf.rb, */Makefile.sub: specify
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
2007-12-24 03:49:56 +00:00
nobu 67d3013c5a * common.mk: should not pass MAKEFLAGS to recursive make.
+ 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
2007-12-24 02:56:33 +00:00
ko1 f03abbce93 * common.mk: remove additional "-".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-23 18:41:17 +00:00
nobu c892851a25 * common.mk (srcs): new target to generated sources.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 18:22:43 +00:00
nobu c4bdd0f1ef * common.mk (encs, ext/ripper/ripper.c): MAKEFLAGS needs -.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 18:19:14 +00:00
usa d9c407981c * common.mk (version.o): add dependency. [ruby-dev:32680]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 09:21:38 +00:00
duerst 5ad8c5566d Sat Dec 22 15:45:45 2007 Martin Duerst <duerst@it.aoyama.ac.jp>
* 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
2007-12-22 06:45:55 +00:00
nobu aefc34a041 * common.mk (encs, ext/ripper/ripper.c): needs MFLAGS.
* configure.in (STRINGIZE): stringizing macro.

* include/ruby/defines.h (STRINGIZE): fallback.

* tool/make-snapshot: new file.

* version.c (ruby_description, ruby_copyright): string constants for
  -v option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 06:14:50 +00:00
duerst 968eb8beac Fri Dec 21 16:25:25 2007 Martin Duerst <duerst@it.aoyama.ac.jp>
* common.mk, transcode_data_iso_8859.c: renamed to
	  transcode_data_one_byte.c.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 07:24:39 +00:00
nobu 817a4e3c83 * common.mk (enc.mk): depends on $(RBCONFIG) instead of rbconfig.rb.
* 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
2007-12-21 02:23:26 +00:00
akr d45cfa45ab * tool/compile_prelude.rb: use erb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 00:27:40 +00:00
ko1 c334a09f7a * common.mk, *.ci: renamed to *.c.
* eval_laod.c: renamed to load.c.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-20 09:29:46 +00:00
nobu dc4d4b3923 * common.mk (enc.mk): depends on rbconfig.rb.
* regenc.h (OnigEncodingDefine): external encoding definition macro.

* enc/Makefile.in: fix for linking.

* enc/depend, enc/make_encmake.rb: fix for Windows.


* enc/{ascii,euc_jp,sjis,utf8,iso_8859_{1..16}}.c: renamed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-20 08:07:56 +00:00
matz 8e8c1d02e0 * common.mk (encs): create encoding directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-19 18:00:41 +00:00
nobu 168b9e13ff * common.mk (encs, ext/ripper/ripper.c): other options must come
before MAKEFLAGS in GNU make.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18 06:44:25 +00:00
nobu 346e9e78f0 * common.mk (encs, ext/ripper/ripper.c): pass MAKEFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18 06:17:33 +00:00
nobu c611b6d0cc * configure.in (BUILTIN_ENCS): removed.
* common.mk (enc.mk): pass BUILTIN_ENCS from command line.

* enc/depend: ditto.

* enc/make_encmake.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 17:30:57 +00:00
nobu 6ed9bdd463 * common.mk (encs): added dependencies.
* enc/Makefile.in, enc/depend, enc/make_encmake.rb: moved serb code.

* lib/mkmf.rb (depend_rules): now takes content string, not file name.

* win32/enc-setup.mak: overrides default target.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 16:15:46 +00:00
gotoyuzo 2a0aa84713 * common.mk (miniprelude.c): add -I$(srcdir).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 12:25:26 +00:00
nobu b2d9f1e9d0 * common.mk (encs): new target to compile external encodings.
* 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
2007-12-17 08:47:28 +00:00
nobu f2bd108d8d * configure.in (enc/Makefile): add external encoding objects list.
* common.mk (BUILTIN_ENCOBJS): renamed from ENCOBJS.

* Makefile.in (BUILTIN_ENCOBJS): substitued by autoconf.

* enc/Makefile.in: new file to compile external encoding sources.

* encoding.c (rb_enc_find_index): auto-load external encoding objects
  as "ext/ENCODING_NAME".  [ruby-dev:32606]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 09:56:59 +00:00
nobu 8b6cb6994c * common.mk (ruby.imp): fix for circular dependency. a patch from
Yutaka Kanemoto <kinpoco AT gmail.com> in [ruby-dev:32590].

* regint.h, st.c, ext/json/ext/generator/generator.c: suppress
  warnings on AIX.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 04:47:57 +00:00
nobu 7554dd1346 * Makefile.in, */Makefile.sub (CP, MV): added.
* 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
2007-12-11 07:19:28 +00:00
matz 7ded13f54b * transcode.c: new file to provide encoding conversion features.
code contributed by Martin Duerst.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-10 05:01:47 +00:00
akr 0d8ac93f58 * include/ruby/io.h (rb_io_t): add tied_io_for_writing member.
* io.c: use tied_io_for_writing for duplex popen.

* gc.c: mark tied_io_for_writing.

* common.mk: gc.o depends io.h.

  [ruby-dev:32205]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-20 03:16:53 +00:00
nobu dc6e570665 * common.mk (prereq): added auto generated sources. [ruby-dev:32280]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 05:29:58 +00:00
akr e81b38e378 * common.mk, Makefile.in: rename prelude.c to miniprelude.c.
rename ext_prelude.c to prelude.c

* win32/Makefile.sub: ditto.

* bcc32/Makefile.sub: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-14 05:06:36 +00:00
nobu 499fef3e53 * common.mk (parse.c): dependency also needs vpath.
* 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
2007-11-13 17:50:33 +00:00
nobu d5a3389886 * common.mk (parse.c), ext/ripper/depend (ripper.c): process after
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
2007-11-13 12:41:41 +00:00
akr 2c42aa4364 * Makefile.in, common.mk: add prelude.o to MINIOBJS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-12 08:15:10 +00:00
akr c840239cc8 * Makefile.in, common.mk: add ext_prelude.o to OBJS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-12 07:49:36 +00:00
akr 900da8992d refine dependencies of miniruby$(EXEEXT).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-11 12:44:01 +00:00
akr c585a9eba1 * configure.in, common.mk, Makefile.in: don't generate
libminiruby-static.a.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-10 14:18:03 +00:00
akr 7315b449f3 * common.mk, Makefile.in: generate libminiruby-static.a
which contains prelude.o for miniruby.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-10 10:50:58 +00:00
akr 00e55418ce * common.mk (EXPLOBJS): create new variable for ext_prelude.o.
* Makefile.in(h: use EXPLOBJS.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-10 10:22:38 +00:00
akr 040ffb5d79 * gem_prelude.rb: new file for gem libraries. currently empty.
* 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
2007-11-10 09:22:59 +00:00
usa a95d19bf59 * common.mk (prereq): update the path of prelude.c.
* 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
2007-10-31 17:16:00 +00:00
nobu 62354319cd * numeric.c (int_chr): take an optional encoding parameter.
[ruby-core:12816]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-26 08:38:14 +00:00
nobu 72483cdcca * Makefile.in, */Makefile.sub (VPATH): add enc directory.
* common.mk (ENCOBJS): encoding objects.

* enc: directory for encodings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-10 21:35:45 +00:00
nobu 8ef1027a09 * common.mk (ruby.o): using encoding.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 23:50:36 +00:00
ko1 87375866a6 * benchmark/driver.rb: added.
* common.mk: fix to use above driver.
* benchmark/prepare_so_count_words.rb: added.
* benchmark/bm_so_count_words.rb: fix benchmark process.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-27 06:46:31 +00:00
ko1 a22a489cde * common.mk: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-06 15:59:29 +00:00
nobu 1acdd51cf9 * common.mk (vm.o): depends on st.h too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-03 06:37:11 +00:00
usa 70f5d818f8 * regenc.h: check RUBY_EXTERN before including config.h and defines.h
* common.mk: update header dependency.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-30 10:42:09 +00:00
ko1 6244e502cc * thread.c: fix Mutex to be interruptable lock.
* 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
2007-08-27 16:48:14 +00:00
matz a25fbe3b3e * encoding.c: provide basic features for M17N.
* parse.y: encoding aware parsing.

* parse.y (pragma_encoding): encoding specification pragma.

* parse.y (rb_intern3): encoding specified symbols.

* string.c (rb_str_length): length based on characters.  
  for older behavior, bytesize method added.

* string.c (rb_str_index_m): index based on characters.  rindex as
  well.

* string.c (succ_char): encoding aware succeeding string.

* string.c (rb_str_reverse): reverse based on characters.

* string.c (rb_str_inspect): encoding aware string description.

* string.c (rb_str_upcase_bang): encoding aware case conversion.
  downcase, capitalize, swapcase as well.

* string.c (rb_str_tr_bang): tr based on characters.  delete,
  squeeze, tr_s, count as well.

* string.c (rb_str_split_m): split based on characters.

* string.c (rb_str_each_line): encoding aware each_line.

* string.c (rb_str_each_char): added.  iteration based on
  characters.

* string.c (rb_str_strip_bang): encoding aware whitespace
  stripping.  lstrip, rstrip as well.

* string.c (rb_str_justify): encoding aware justifying (ljust,
  rjust, center).

* string.c (str_encoding): get encoding attribute from a string. 

* re.c (rb_reg_initialize): encoding aware regular expression

* sprintf.c (rb_str_format): formatting (i.e. length count) based
  on characters.

* io.c (rb_io_getc): getc to return one-character string.
  for older behavior, getbyte method added.

* ext/stringio/stringio.c (strio_getc): ditto.

* io.c (rb_io_ungetc): allow pushing arbitrary string at the
  current reading point.

* ext/stringio/stringio.c (strio_ungetc): ditto.

* ext/strscan/strscan.c: encoding support.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-25 03:29:39 +00:00
nobu cfaf3d9a1a * common.mk (prelude.o): depends on vm_core.h now.
* common.mk (prelude.c): depends on tool/compile_prelude.rb too.

* common.mk (prereq): updates all auto-generated sources.

* tool/compile_prelude.rb: separated dynamic and static portions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-25 01:20:30 +00:00
ko1 6bf7d3d8c0 * prelude.rb: added. run this script on startup.
* tool/compile_prelude.rb: compile prelude.rb to C string.
  (prelude.rb -> prelude.c)
* common.mk: fix to build with prelude.c.
* inits.c (rb_call_inits): ditto.
* thread.c (Init_Thread): move definition of Mutex#synchronize
  to prelude.rb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-24 15:26:28 +00:00
ko1 9cdeae9dad * common.mk: change test order (test -> btest).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-14 10:53:06 +00:00
nobu 9644a2c02c * common.mk (btest-miniruby, test-sample): split the test target
so that -k option works.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-08 02:02:45 +00:00
nobu 8063c2b2e3 * common.mk (node_name.inc): use $? instead of $< for nmake.
[ruby-dev:31356]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-07 04:28:34 +00:00
nobu a9ba30ee86 * common.mk (node_name.inc): auto-generate node name list.
* iseq.c (ruby_node_name): ditto.

* tool/node_name.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-06 04:09:56 +00:00
nobu ee8f40b5a6 * common.mk (INSNS): not chdir to srcdir.
* lib/vm/instruction.rb (RubyVM::SourceCodeGenerator): --destdir
  option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-06 04:00:09 +00:00
nobu 2840fa6b65 * common.mk: inverted rules order.
* thread_win32.ci (w32_create_thread): bcc does not have
  _beginthreadex().

* bcc32/Makefile.sub: headers have moved.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 08:48:29 +00:00
ko1 6b6bf4dd48 * blockinlining.c: remove "yarv" prefix.
* array.c, numeric.c: ditto.
* insnhelper.ci, insns.def, vm_evalbody.ci: ditto.
* yarvcore.c: removed.
* yarvcore.h: renamed to core.h.
* cont.c, debug.c, error.c, process.c, signal.c : ditto.
* ext/probeprofiler/probeprofiler.c: ditto.
* id.c, id.h: added.
* inits.c: ditto.
* compile.c: rename internal functions.
* compile.h: fix debug flag.
* eval.c, object.c, vm.c: remove ruby_top_self.
  use rb_vm_top_self() instead.
* eval_intern.h, eval_load: ditto.
* gc.c: rename yarv_machine_stack_mark() to
  rb_gc_mark_machine_stack().
* insnhelper.h: remove unused macros.
* iseq.c: add iseq_compile() to create iseq object
  from source string.
* proc.c: rename a internal function.
* template/insns.inc.tmpl: remove YARV prefix.
* thread.c:
* vm.c (rb_iseq_eval): added.
* vm.c: move some functions from yarvcore.c.
* vm_dump.c: fix to remove compiler warning.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-12 04:25:46 +00:00
ko1 616f4d3385 * bootstraptest/runner.rb: fix load path.
* common.mk: fix "test" rule to run with "btest".
* rubytest.rb, sample/test.rb: fix to show tests progress.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-06 09:23:53 +00:00
ko1 ca9b486294 * tool/insns2vm.rb, lib/vm/instruction.rb: move process body
to lib/vm/instruction.rb.
* common.mk: fix aotc rule.
  experimental. bin/ruby2cext is not added yet.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 05:52:18 +00:00
ko1 fd58a0836f * common.mk (run.gdb): fix to load $(srcdir)/.gdbinit
* vm.c (rb_vm_set_finish_env): add a cast.
* vm.h: support __fastcall for MSVC.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 20:03:53 +00:00
ko1 6bd0345627 * eval_*.h: rename to eval_*.ci.
* common.mk: ditto.
* eval_error.ci: remove ruby_set_current_source().
* error.c, eval.c, ruby.c: ditto.
* eval_safe.c, proc.c: remove unused macros.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 19:23:24 +00:00
ko1 7980e653e5 * call_cfunc.ci: removed.
* insnhelper.ci: added. this function includes all functions that
  vm insns need.
* common.mk: ditto.
* insnhelper.h, vm.h, vm.c: move some declaration.
* gc.h: remove GC_CHECK() macro because GC.stress is more useful.
* compile.c, iseq.c, vm_dump: ditto.
* gc.h, thread.c: move a prototype decalaration.
* debug.c, debug.h: rename some functions.
* compile.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 17:19:22 +00:00
ko1 62deb7dbbd * insn_send.ci: removed.
* common.mk: ditto.
* vm.c (vm_call_bmethod), isnsn.def: added.  fix to use this
  function instead of using goto.
* vm.c (vm_call_bmethod): renamed from th_invoke_bmethod().
* vm.c (vm_method_missing): renamed from eval_methdo_missing().
* vm_evalbody.ci: remove tmp_* variables.
* insnhelper.h: add some macros.
* insns.def: forbid zsuper from method defined by define_method().
* test/ruby/test_super.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 13:05:51 +00:00
ko1 904b9e5d54 * vm_macro.def: removed.
* insn_send.ci: added.  this file includes send instruction body.
* common.mk: ditto.
* insns.def: ditto.
* tool/insns2vm.rb: ditto.
* vm.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 11:02:40 +00:00
ko1 3aa45744ab * bootstraptest/runner.rb: set default directory to
'/tmp/bootstraptest.tmpwd' and add --dir option.
  fix to output driver and target information.
* common.mk: fix to run btest on BASERUBY and
  add OPTS to pass option ("make btest OPTS=...").



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 06:52:59 +00:00
nobu a96b6f0604 * common.mk (realclean): separate local and ext.
* ext/extmk.rb: not remove unrelated directories.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-15 13:31:54 +00:00
nobu 2b592580bf * include/ruby: moved public headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
ko1 7c4ff2d332 * cont.c: support callcc which everyone love.
incomplete. please give me bug reports.
* common.mk, inits.c, thread.c: ditto.
* yarvcore.c: export thread_mark().
* yarvcore.h: disable value cache option.
* eval_intern.h: set th_get_ruby_level_cfp to inline.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-23 22:52:19 +00:00
matz d086dfc513 * common.mk: add a rule for regsyntax.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-23 06:38:46 +00:00
matz 6ee2e54239 * oniguruma.h: updated to Oniguruma 5.7.0.
* regsyntax.c, unicode.c: new files along with Oniguruma 5.x.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-23 01:32:08 +00:00
nobu 140fb1bae3 * common.mk (clear-installed-list): separated from install-prereq.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-13 00:24:58 +00:00
nobu f9b349adb5 * Makefile.in, configure.in, */Makefile.sub (THREAD_MODEL): system
specific thread model.

* compile.h, regint.h, vm.h, array.c: removed unnecessary #include.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-28 01:33:57 +00:00
shyouhei e38fd64fcd * mkconfig.rb (RbConfig): add CONFIG['PATCHLEVEL']
* common.mk: new target dist

* distruby.rb: new file



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-27 15:12:18 +00:00
usa 006f72e920 * common.mk (error.c, process.c): depend on yarvcore.h and rubysig.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-27 11:37:54 +00:00
ko1 e98f7e1eaa * common.mk: change "gdb" rule. You can debug miniruby with
$(srcdir)/test.rb on gdb by this rule (type "make gdb").
  If you write break points to "breakpoints.gdb" on $srcdir,
  gdb runs with this file.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-25 15:58:27 +00:00
aamine f42150744c * common.mk: new target "btest", to run bootstraptests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 10:39:30 +00:00
ko1 287aa3324a * common.mk: change vm_macro.def -> vm_macro.inc rule.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 01:41:46 +00:00
nobu d274cf524a * common.mk: targets which depend on yarvcore.h now depend on
rubysig.h too.

* yarvcore.h (rb_vm_t): use rb_atomic_t instead of int.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-10 08:47:05 +00:00
ko1 93b2cfbc4a * common.mk: fix to use RUNRUBY instead of BASERUBY if possible.
* common.mk ($(INSNS) rule): remove $(PROGRAM) first.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 08:18:29 +00:00
ko1 9c574383a4 * blockinlining.c, error.c, eval.c, eval_error.h, eval_intern.h,
eval_jump.h, eval_load.c, eval_safe.h, gc.c, proc.c, signal.c,
  thread.c, thread_pthread.ci, thread_win32.ci, vm.c, vm.h,
  vm_dump.c, vm_evalbody.ci, yarvcore.c, yarvcore.h:
  fix typo (rb_thead_t -> rb_thread_t).

* eval_intern.h: remove unused definitions.

* common.mk: fix around vm_opts.h path
  and remove harmful argument passed to insns2vm.rb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 06:37:46 +00:00
ko1 44aef0b53f * this commit is a result of refactoring. only renaming functions,
moving definitions place, add/remove prototypes, deleting
  unused variables and removing yarv.h.
  This commit doesn't change any behavior of ruby/vm.
* yarv.h, common.mk: remove yarv.h (contents are moved to yarvcore.h).
* error.c, eval_intern.h: include yarvcore.h instead yarv.h
* rename some functions:
  * debug.[ch]: debug_*() -> ruby_debug_*()
  * iseq.c: iseq_*() -> rb_iseq_*(), ruby_iseq_disasm()
  * iseq.c: node_name() -> ruby_node_name()
  * vm.c: yarv_check_redefinition_opt_method() ->
    rb_vm_check_redefinition_opt_method()
* some refactoring with checking -Wall.
* array.c: remove rb_ary_ptr() (unused) and remove unused
  local variables.
* object.c: add a prototype of rb_mod_module_exec().
* eval_intern.h (ruby_cref): set it inline.
* eval_load.c (rb_load), yarvcore.c: yarv_load() -> rb_load_internal().
* parse.y: add a prototype of rb_parse_in_eval() (in eval.c).
* process.c: add a prototype of rb_thread_stop_timer_thread() (in thread.c).
* thread.c: remove raw_gets() function (unused) and fix some format
  mismatch (format mismatchs have remained yet. this is todo).
* thread.c (rb_thread_wait_fd_rw): fix typo on label name.
* thread_pthread.ci: comment out codes with USE_THREAD_CACHE.
* vm.c (rb_svar, rb_backref_get, rb_backref_get,
  rb_lastline_get, rb_lastline_set) : moved from yarvcore.c.
* vm.c (yarv_init_redefined_flag): add a prototype and rename
  yarv_opt_method_table to vm_opt_method_table.
* vm.c (rb_thread_eval): moved from yarvcore.c.
* yarvcore.c: remove unused global variables and fix to use nsdr().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-07 01:25:05 +00:00
ko1 46cceb5a74 * complement last commit.
* common.mk (*.inc): use VPATH.
* vm_opts.h: renamed from vm_opts.h.base.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-06 02:06:07 +00:00
ko1 025cfde57d * eval_thread.c, common.mk: remove eval_thread.c.
* yarvcore.c: rename cYarvThread to rb_cThread.
* gc.c: remove YARV_* prefix.
* gc.h: add an include guard and prototype of rb_gc_set_stack_end().
* inits.c: fix to ANSI prototype style and reorder Init_*().
* io.c (pipe_finalize): TODO: comment out last_status.
* process.c, yarvcore.h: fix to use yarv_vm_t#last_status instead of
  rb_last_status and make last_status_get() to access $?.
* yarvcore.c (vm_mark): mark yarv_vm_t#last_status.
* ruby.h: add declarations of rb_cISeq and rb_cVM.
* thread.c: move eval_thread.c codes to thread.c and remove yarv_*
  function prefix.
* thread.c (thread_start_func_2): use yarv_thread_t#first_func if
  it is not null.
* vm.c: fix copyright year.
* yarvcore.c (Init_vm): rename to Init_VM().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-05 12:21:01 +00:00
matz 71364da03f * insns.def (setclassvariable): remove unnecessary operand.
* compile.c (iseq_compile_each): ditto.

* common.mk (insns_info.inc): add dependency for insns_info.inc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-04 19:15:38 +00:00
nobu e22d0bf723 * common.mk (runruby, benchmark, benchmark-each, tbench): use
PROGRAM for the file to be built.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 18:35:40 +00:00
nobu fddaf76b67 * Makefile.in, */Makefile.sub, common.mk (vmasm): generalized.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 18:23:07 +00:00
matz 6cee897b59 * common.mk (bin): add more dependency. a patch from Tadashi
Saito <shiba at mail2.accsnet.ne.jp>.  [ruby-dev:30245]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 14:41:50 +00:00
matz aeec0f8445 * common.mk (compile.$(OBJEXT)): add config.h to vm.c and
compile.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 09:39:20 +00:00
usa b696420526 * Makefile.in, common.mk, configure.in, */{Makefile.sub, configure.bat,
setup.mak}: add --with-baseruby configure option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-23 06:41:22 +00:00
ko1 dbee678630 * some refactoring around yarvcore and proc.
* eval_proc.c: renamed to proc.c.
* common.mk: ditto.
* yarvcore.h, yarvcore.c: rename or remove some global variables
  removed: mYarvCore, mYarvInsns
  renamed: cYarvISeq -> rb_cISeq,
           cYarvProc -> rb_cProc, cYarvBinding -> rb_cBinding
  ::YarvCore module is removed and ::YarvCore::VM class becomes ::VM.
  And change/remove some functions which added with YARV.
* compile.c: ditto.
* eval.c: ditto.
* iseq.c: ditto.
* vm.c: ditto.
* inits.c: rename Init_yarvcore to Init_vm.
* yarvcore.c, proc.c: move some functions and initialization
  from yarvcore.c to proc.c.
* intern.h, proc.c: add global function rb_binding_new(void).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-17 08:48:52 +00:00
ko1 5078c85782 * common.mk: fix ruby script path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-16 08:50:13 +00:00
ko1 4e4eec7016 * common.mk: add a "compare" rule and fix MATZRUBY variable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-07 09:36:30 +00:00
ko1 52296cdee1 * common.mk : add PHONY dependency to some rules
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-06 04:44:56 +00:00
ko1 384cfd3871 * benchmark/run.rb : change option format
* common.mk : ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-05 18:54:33 +00:00
ko1 d22d3b5a7a * benchmark/bm_app_pentomino.rb : use Array#dup instead of
Array#clone
* benchmark/bmx_temp.rb : removed
* benchmark/run.rb : use run.rb instead of run_rite.rb
* common.mk : ditto
* benchmark/run_rite.rb : removed
* common.mk : use $(srcdir)/test.rb to run a test program
with "make run"
* benchmark/bmx_temp.rb : removed and
set svn:ignore (bmx_*.rb) to benchmark/
* test.rb : set svn:ignore



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-05 13:52:16 +00:00
ko1 716b91a5f7 * common.mk : add .SUFFIXES rule
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-05 11:22:25 +00:00
ko1 3e5b3dac1f * common.mk : rename yarv-test-[all/each] to compare-test[/-each].
purpose of "compare-test" rule is to compare ruby (trunk) and
matzruby (branches/matzruby) binary in miniruby level.  MATZRUBY
parameter means an path to miniruby of matzruby binary.  to do this
comparison test, you should build matzruby branch.
* yarvtest/yarvtest.rb : fix to use command line option as
command names to be compared.
* yarvtest/runner.rb : remove a debug output.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-04 11:30:37 +00:00
ko1 31d815aacf * common.mk : fix to use test.rb script in build directory.
($(srcdir)/test.rb -> test.rb)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-04 10:15:20 +00:00
ko1 a7028afec0 * yarv_version.h : removed.
* common.mk : remove yarv_version.h from rules
* yarvcore.h (Init_yarvcore) : remove useless constants



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-04 08:27:19 +00:00
ko1 26608663cd * common.mk : restore changes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-04 04:44:48 +00:00
ko1 a3e1b1ce7e * Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 15:02:22 +00:00
nobu 24f3250be1 * Makefile.in, common.mk (NULLCMD): moved for platforms that empty
command does not run.  fixed: [ruby-dev:29994]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-06 14:57:07 +00:00
nobu 40fc1a8025 * common.mk (NULLCMD): dummy command.
* bcc32/Makefile.sub (post-install-*): Borland make cannot ignore
  command-less double-colon rules.  [ruby-dev:29676]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-19 23:44:00 +00:00
nobu eb2661510d * mkconfig.rb: *OBJS are not needed for extension libraries.
* {bcc32,wince,win32}/Makefile.sub (config.status): fixed typo,
  missing comma.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-15 23:32:12 +00:00
nobu 5cfcbb2aca * common.mk (test-all): separate directory where running test cases
from source tree.

* lib/test/unit/autorunner.rb (options): added --basedir, --workdir
  and --load-path options.

* lib/test/unit/collector/dir.rb (recursive_collect, collect_file):
  base directory support.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-01 16:25:37 +00:00
nobu b004fa2428 * Makefile.in, common.mk, ext/extmk.rb, win{32,ce}/Makefile.in: keep
LIBRUBY_SO unless need to be removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-01 15:00:45 +00:00
nobu e8454ae776 * common.mk (no-install): not install rdoc actually.
* common.mk (install-doc, no-install-doc): use instruby.rb.

* instruby.rb: rdoc installation.

* ext/extmk.rb: expand ruby executable names.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-21 13:58:33 +00:00
nobu 8978bfe7f9 * common.mk (pre-install-doc): create data directory before install.
* lib/mkmf.rb (dir_re): fixed typo.

* lib/mkmf.rb (install_dirs): remove extra slash.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-20 14:18:19 +00:00
nobu 8114a2edb0 * common.mk (install-doc): reverted.
* instruby.rb: stores file name list without destdir prefix.

* lib/rdoc/generators/ri_generator.rb: do not chdir twice.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-17 08:43:19 +00:00
nobu f06362a4f9 * Makefile.in, common.in, instruby.rb, ext/extmk.rb, lib/mkmf.rb:
use instruby.rb to install extensions instead of ext/extmk.rb.

* instruby.rb: store installed list into the file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-16 07:06:57 +00:00
akr 965b0d3807 * common.mk (ia64.o): use the compiler driver to assemble ia64.s
to use appropriate ABI.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-02 04:26:40 +00:00
kosako 1384f4689b add regint.h and oniguruma.h to dependence
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-25 12:38:28 +00:00
usa f2cc277216 * common.mk (pre-install-local): remove unnecessary code.
[ruby-dev:29249]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-16 08:24:00 +00:00
matz 50ef220b5a * configure.in, common.mk: AIX link issue. a patch from Yutaka
Kanemoto <kinpoco at gmail.com>.  [ruby-dev:29190]

* ext/socket/socket.c: AIX socket support.  [ruby-dev:29190]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-07 05:44:43 +00:00
akr f59bd226b3 * configure.in: define IA64 for portability. (HP aC++/ANSI C doesn't
define __ia64__.)
  don't check libunwind stuff.
  check __libc_ia64_register_backing_store_base.

* defines.h: declare rb_ia64_bsp and rb_ia64_flushrs.
  (flush_register_windows): call rb_ia64_flushrs on IA64.

* ia64.s: new file for IA64.
  it is separated from C program files because
  Intel C++ Compiler for IA64 doesn't support inline assembly.

* common.mk (ia64.$(OBJEXT)): new target.

* ruby.h (RUBY_INIT_STACK): defined.
  (ruby_init_stack): declared for RUBY_INIT_STACK.

* main.c (main): precedes RUBY_INIT_STACK before ruby_init.

* gc.c (rb_gc_register_stack_start): new global variable on IA64.
  (garbage_collect): simplify register stack marking code.
  don't use libunwind.
  (Init_stack): initialize rb_gc_register_stack_start.
  (ruby_init_stack): new function for RUBY_INIT_STACK.

* eval.c (struct thread): add bstr_pos member for original position of
  register stack.
  (rb_thread_save_context): simplify register stack saving code.
  don't use libunwind.
  (rb_thread_restore_context_0): new function.  moved from
  rb_thread_restore_context except the stack position checking code.
  don't use libunwind for IA64 register stack.
  (register_stack_extend): new function.
  (stack_extend): make it self-recursive with
  the stack position checking code in old rb_thread_restore_context.
  (rb_thread_restore_context): just call stack_extend.
  (flush_register_windows): removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-27 05:40:04 +00:00
nobu f3727f5928 * common.mk (static-ruby): overridable.
* ext/extmk.rb (parse_args): force to link extensions statically only
  if static is given for extstatic.

* ext/extmk.rb (RUBY, RUBYW): overridable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-16 14:25:53 +00:00
nobu a51e80459c * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated
macro definitions.

* bcc32/Makefile.sub: LIBRUBY_SO should use DLDOBJS, not EXTOBJS.

* {win32,wince}/Makefile.sub: separate config.h for compiler versions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-03 15:27:13 +00:00
nobu a6df88f00b * common.mk: Borland MAKE doesn't look for file names which have paths
from VPATH.  fixed: [ruby-dev:26604]

* ruby.h (NORETURN, DEPRECATED): moved just after config.h.

* {win32,wince}/Makefile.sub: vsnprintf() is in missing now.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-25 12:29:37 +00:00
nobu 6524f34a26 * sprintf.c (rb_vsprintf, rb_sprintf): new functions return new String,
using missing/vsnprintf.c.  [ruby-dev:26580]

*  missing/vsnprintf.c: made the output changeable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-23 01:02:18 +00:00
nobu ce33ffca61 * common.mk (OBJS): added enumerator.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-14 15:33:15 +00:00
nobu d725e6666a * enum.c (enumeratorize): create new enumerator for current method if
no block is given.

* enumerator.c: moved from ext/enumerator.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-14 15:15:22 +00:00
nobu 5c6e644196 * Makefile.in, common.mk: miniruby depens on MINIOBJS.
* dmydln.c (dln_load): dummy function to raise LoadError.

* cygwin/GNUmakefile.in, {bcc32,win32,wince}/Makefile.sub: miniruby
  can't load extensions on Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-20 14:25:34 +00:00
nobu ba269b1976 * common.mk (RUBYOPT): clear for the environment RubyGems installed.
* common.mk (clean-local): keep $(PREP) files till distclean.

* common.mk (check): do all tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-30 23:26:00 +00:00
matz 70bbad3cfd * array.c: replace rb_protect_inspect() and rb_inspecting_p() by
rb_exec_recursive() in eval.c.

* eval.c (rb_exec_recursive): new function.

* array.c (rb_ary_join): use rb_exec_recursive().

* array.c (rb_ary_inspect, rb_ary_hash): ditto.

* file.c (rb_file_join): ditto.

* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.

* io.c (rb_io_puts): ditto.

* object.c (rb_obj_inspect): ditto

* struct.c (rb_struct_inspect): ditto.

* lib/set.rb (SortedSet::setup): a hack to shut up warning.
  [ruby-talk:132866]

* lib/time.rb (Time::strptime): add new function.  inspired by
  [ruby-talk:132815].

* lib/parsedate.rb (ParseDate::strptime): ditto.

* regparse.c: move st_*_strend() functions from st.c.  fixed some
  potential memory leaks.

* exception error messages updated.  [ruby-core:04497]

* ext/socket/socket.c (Init_socket): add bunch of Socket
  constants.  Patch from Sam Roberts <sroberts@uniserve.com>.
  [ruby-core:04409]

* array.c (rb_ary_s_create): no need for negative argc check.
  [ruby-core:04463]

* array.c (rb_ary_unshift_m): ditto.

* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
  of StandardError class, not Exception class.  [ruby-core:04429]

* parse.y (fcall_gen): lvar(arg) will be evaluated as
  lvar.call(arg) when lvar is a defined local variable. [new]

* object.c (rb_class_initialize): call inherited method before
  calling initializing block.

* eval.c (rb_thread_start_1): initialize newly pushed frame.

* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
  fixed: [ruby-core:04444]

* eval.c (is_defined): NODE_IASGN is an assignment.

* ext/readline/readline.c (Readline.readline): use rl_outstream
  and rl_instream.  [ruby-dev:25699]

* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check
  [ruby-dev:25675]

* misc/ruby-mode.el: [ruby-core:04415]

* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]

* lib/rdoc/generators/ri_generator.rb: ditto.

* struct.c (make_struct): fixed: [ruby-core:04402]

* ext/curses/curses.c (window_color_set): [ruby-core:04393]

* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
  [ruby-talk:130092]

* object.c: [ruby-doc:818]

* parse.y (open_args): fix too verbose warnings for the space
  before argument parentheses.  [ruby-dev:25492]

* parse.y (parser_yylex): ditto.

* parse.y (parser_yylex): the first expression in the parentheses
  should not be a command.  [ruby-dev:25492]

* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]

* object.c (Init_Object): remove Object#type.  [ruby-core:04335]

* st.c (st_foreach): report success/failure by return value.
  [ruby-Bugs-1396]

* parse.y: forgot to initialize parser struct.  [ruby-dev:25492]

* parse.y (parser_yylex): no tLABEL on EXPR_BEG.
  [ruby-talk:127711]

* document updates - [ruby-core:04296], [ruby-core:04301],
  [ruby-core:04302], [ruby-core:04307]

* dir.c (rb_push_glob): should work for NUL delimited patterns.

* dir.c (rb_glob2): should aware of offset in the pattern.

* string.c (rb_str_new4): should propagate taintedness.

* env.h: rename member names in struct FRAME; last_func -> callee,
  orig_func -> this_func, last_class -> this_class.

* struct.c (rb_struct_set): use original method name, not callee
  name, to retrieve member slot.  [ruby-core:04268]

* time.c (time_strftime): protect from format modification from GC
  finalizers.

* object.c (Init_Object): remove rb_obj_id_obsolete()

* eval.c (rb_mod_define_method): incomplete subclass check.
  [ruby-dev:25464]

* gc.c (rb_data_object_alloc): klass may be NULL.
  [ruby-list:40498]

* bignum.c (rb_big_rand): should return positive random number.
  [ruby-dev:25401]

* bignum.c (rb_big_rand): do not use rb_big_modulo to generate
  random bignums.  [ruby-dev:25396]

* variable.c (rb_autoload): [ruby-dev:25373]

* eval.c (svalue_to_avalue): [ruby-dev:25366]

* string.c (rb_str_justify): [ruby-dev:25367]

* io.c (rb_f_select): [ruby-dev:25312]

* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]

* struct.c (make_struct): [ruby-dev:25249]

* dir.c (dir_open_dir): new function.  [ruby-dev:25242]

* io.c (rb_f_open): add type check for return value from to_open.

* lib/pstore.rb (PStore#transaction): Use the empty content when a
  file is not found.  [ruby-dev:24561]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 06:47:45 +00:00
usa d29f9e080b * common.mk (install-nodoc, pre-install-doc, post-install-doc):
fix some omissions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 00:39:04 +00:00
nobu 4a4ff7fac1 * common.mk: add {pre,post}-install targets.
* instruby.rb (install?): install particular part.

* bcc32/Makefile.sub (post-install-ext): remove debug information
  files after installation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-03 09:44:33 +00:00
kosako 1034d1407e remove GNU regex API
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-17 14:43:38 +00:00
matz 9531aef9eb * env.h: remove argv from ruby_frame.
* eval.c (rb_eval): no more copy on write.

* eval.c (assign): ditto.

* eval.c (rb_call0): can receive *rest by specifying negative
  argc.  (-1 means 0 arg and *rest, -2 means 1 arg and *rest...)

* eval.c (rb_call0): properly set frame's argc counter.

* gc.c (rb_gc_mark_frame): need not to mark frame's argv

* gc.c (run_final): wrong order of data. [ruby-dev:23948]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-28 01:22:49 +00:00
nobu 315b3e1906 * common.mk: LIBURUBY_A is needed for extconf.rb even when
cross-compiling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-27 05:43:36 +00:00
nobu 7b9431d98d * common.mk, ext/extmk.rb: make ext and .ext get removed by distclean.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-22 09:25:16 +00:00
ksaito 64cdea9fae * common.mk: changed the order of ascii.c alphabetically.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-12 17:57:40 +00:00
nobu 43db576e61 * Makefile.in, common.mk, */Makefile.sub (ext/extinit.o): OUTFLAG
doesn't work for object files on VC.

* */Makefile.sub (config.h): need SIZEOF_TIME_T now.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-07 01:43:27 +00:00
nobu ec37ab2efe * version.c (ruby_show_copyright): obtain copyright year from
RUBY_RELEASE_YEAR.

* win32/resource.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-25 12:01:41 +00:00
nobu 3b79d34d99 * common.mk, */Makefile.sub (lib, dll): phony targets.
* configure.in (ruby, miniruby): ditto.

* cygwin/GNUmakefile.in (rubyw): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-25 05:01:15 +00:00
nobu 52a67fe60d * Makefile.in, */Makefile.sub, common.mk (clean-local, distclean-local):
separate files under directories due to directory separator.

* */Makefile.sub (MKFILES): common.mk and */Makefile.sub should not be
  removed.

* win32/Makefile.sub, wince/Makefile.sub: $* cannot appear in explicit
  rules.

* cygwin/GNUmakefile.in: some mingw stuffs were missed.

* lib/mkmf.rb (create_makefile): Borland make wrongly removes braces
  from command lines.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-23 05:32:01 +00:00
nobu 71f46f0724 * Makefile.in, */Makefile.sub, common.mk: extract common portions.
* Makefile.in, cygwin/GNUmakefile.in, */Makefile.sub (RBCONFIG):
  separated time stamp file for rbconfig.rb.

* configure.in: append common.mk to Makefile.

* mkconfig.rb: keep mtime of rbconfig.rb if unchanged.

* win32/rm.bat: remove multiple files.

* wince/mkconfig_wce.rb: use fake.rb instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-21 23:21:31 +00:00