diff options
Diffstat (limited to 'template')
-rw-r--r-- | template/fake.rb.in | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/template/fake.rb.in b/template/fake.rb.in index 5e95530c38..881e39ce46 100644 --- a/template/fake.rb.in +++ b/template/fake.rb.in @@ -7,12 +7,15 @@ while /\A(\w+)=(.*)/ =~ ARGV[0] end if inc = arg['i'] src = inc == '-' ? STDIN.read : File.read(inc) + def src.value(name) + eval(self[/\bruby_#{name}(?:\[\])?\s*=\s*((?:"(?:\\.|[^\"\\])*"\s*)*(?=;)|[^{};]+)/m, 1].gsub(/#/, '\\#')) + end arg['versions'] = version = {} File.read(File.join(arg['srcdir'], 'version.c')). scan(/rb_define_global_const\("(RUBY_\w+)",[^;]*?\bMK(?:INT|STR)\(([^()]*)\)/m) do |n, v| - version[n] = - eval(src[/\bruby_#{v}(?:\[\])?\s*=\s*((?:"(?:\\.|[^\"\\])*"\s*)*(?=;)|[^{};]+)/m, 1].gsub(/#/, '\\#')) + version[n] = src.value(v) end + version['RUBY_DESCRIPTION'] = src.value('description_with_jit') if RubyVM::MJIT.enabled? end %>baseruby="<%=arg['BASERUBY']%>" _\ |