diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-24 15:26:28 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-24 15:26:28 +0000 |
commit | 97765808e4b5bf7a5fac3ee3eb66ce9da0526c52 (patch) | |
tree | 25b681e65b65ea04b8748ba31cb8afb6e2f56d32 /tool | |
parent | 02e1ed0fd4243ebad369e4f038085af454029796 (diff) | |
download | ruby-97765808e4b5bf7a5fac3ee3eb66ce9da0526c52.tar.gz ruby-97765808e4b5bf7a5fac3ee3eb66ce9da0526c52.tar.xz ruby-97765808e4b5bf7a5fac3ee3eb66ce9da0526c52.zip |
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@13247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool')
-rw-r--r-- | tool/compile_prelude.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tool/compile_prelude.rb b/tool/compile_prelude.rb new file mode 100644 index 000000000..13ccb8ace --- /dev/null +++ b/tool/compile_prelude.rb @@ -0,0 +1,25 @@ + +prelude, outfile = *ARGV +lines = [] + +File.readlines(prelude).each{|line| + lines << "#{line.dump}" +} + +open(outfile, 'w'){|f| +f.puts <<EOS__ + +#include "ruby/ruby.h" +static const char *prelude_code = +#{lines.join("\n")} +; +void +Init_prelude(void) +{ + rb_iseq_eval(rb_iseq_compile( + rb_str_new2(prelude_code), + rb_str_new2("prelude.rb"), INT2FIX(1))); +} +EOS__ +} + |