diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-11 08:07:49 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-11 08:07:49 +0000 |
commit | 8ab36f0306a511881fb008bd1c60abd7918dae46 () | |
tree | f320f2fcfd9e1e0f61fe4539a67cef259d5153ec | |
parent | 0991d0a8ee73977ab3e2aed2fbe361985f6f0d0d (diff) |
fake.rb.in: scan version.c
* template/fake.rb.in: scan MKSTR and MKINT from version.c and then extract the value for them from version.i. * version.c (Init_version): use MKINT as the marker. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | template/fake.rb.in | 6 | ||||
-rw-r--r-- | version.c | 7 |
2 files changed, 9 insertions, 4 deletions
@@ -8,8 +8,10 @@ end if arg['i'] src = File.read(arg['i']) arg['versions'] = version = {} - src.scan(/rb_define_global_const\("(RUBY_\w+)",\s*(?:.*rb_\w*str_new\w*\s*\(\s*(\w+)|[\(\s]*\(\s*VALUE\s*\)\s*\((.+)\)\s*\)\s*<<\s?)/) do |n, s, i| - version[n] = i ? i.gsub(/\s+/, '').to_i : src[/\b#{s}\[\]\s*=\s*((?:"(?:\\.|[^\"\\])*"\s*)*);/m, 1].gsub(/\A"|"\s*\z|" *"/, '').gsub(/\\(.)/, '\1') end end %>baseruby="<%=arg['BASERUBY']%>" @@ -19,6 +19,7 @@ #define PRINT(type) puts(ruby_##type) #define MKSTR(type) rb_obj_freeze(rb_usascii_str_new_static(ruby_##type, sizeof(ruby_##type)-1)) const int ruby_api_version[] = { RUBY_API_VERSION_MAJOR, @@ -38,6 +39,8 @@ VALUE ruby_engine_name = Qnil; void Init_version(void) { VALUE version; /* * The running version of ruby @@ -55,11 +58,11 @@ Init_version(void) * The level for this ruby. If this is a development build of ruby * the level will be -1 */ - rb_define_global_const("RUBY_LEVEL", INT2FIX(RUBY_LEVEL)); /* * The SVN revision for this ruby. */ - rb_define_global_const("RUBY_REVISION", INT2FIX(RUBY_REVISION)); /* * The full ruby version string, like <tt>ruby -v</tt> prints' */ |