fake.rb: Copy options in RUBY_DESCRIPTION to the fake string

The `RUBY_DESCRIPTION_WITH` macro has been removed already, so there
are no more descriptions strings with rjit/yjit enabled.
This commit is contained in:
Nobuyoshi Nakada 2024-10-03 01:02:18 +09:00
parent bf8a8820ba
commit 99620b98ba
No known key found for this signature in database
GPG Key ID: 3582D74E1FEE4465
Notes: git 2024-10-02 16:42:52 +00:00

View File

@ -24,9 +24,8 @@ File.read(File.join(arg['srcdir'], 'version.c')).
scan(/rb_define_global_const\("(RUBY_\w+)",[^;]*?\bMK(?:INT|(STR))\(([^()]*)\)/m) do |n, s, v| scan(/rb_define_global_const\("(RUBY_\w+)",[^;]*?\bMK(?:INT|(STR))\(([^()]*)\)/m) do |n, s, v|
version[n] = arg[v] || src.value(v) || (s ? v : 0) version[n] = arg[v] || src.value(v) || (s ? v : 0)
end end
arg['RUBY_DESCRIPTION_WITH_RJIT'] = src.value('description_with_rjit') || 'description_with_rjit' -%>
arg['RUBY_DESCRIPTION_WITH_YJIT'] = src.value('description_with_yjit') || 'description_with_yjit' baseruby="<%=arg['BASERUBY']%>"
%>baseruby="<%=arg['BASERUBY']%>"
_\ _\
=begin =begin
_= _=
@ -39,16 +38,14 @@ exec $ruby "$r" "$@"
class Object class Object
remove_const :CROSS_COMPILING if defined?(CROSS_COMPILING) remove_const :CROSS_COMPILING if defined?(CROSS_COMPILING)
CROSS_COMPILING = RUBY_PLATFORM CROSS_COMPILING = RUBY_PLATFORM
options = remove_const(:RUBY_DESCRIPTION)[/( \+[^\[\]\+]+)*(?= \[\S+\]\z)/]
constants.grep(/^RUBY_/) {|n| remove_const n} constants.grep(/^RUBY_/) {|n| remove_const n}
% arg['versions'].each {|n, v| % arg['versions'].each {|n, v|
<%=n%> = <%if n=='RUBY_DESCRIPTION' %>case <%=n%> = <%if n=='RUBY_DESCRIPTION'
when RubyVM.const_defined?(:RJIT) && RubyVM::RJIT.enabled? v1, v2 = v.split(/(?= \[\S+\]\z)/)
<%=arg['RUBY_DESCRIPTION_WITH_RJIT'].inspect%> %><%=v1.dump.chomp('"')%>#{options}<%=
when RubyVM.const_defined?(:YJIT) && RubyVM::YJIT.enabled? v2.dump[1..-1]%>.freeze<%
<%=arg['RUBY_DESCRIPTION_WITH_YJIT'].inspect%> else%><%=v.inspect%><%end%>
else
<%=v.inspect%>
end<%else%><%=v.inspect%><%end%>
% } % }
end end
builddir = File.dirname(File.expand_path(__FILE__)) builddir = File.dirname(File.expand_path(__FILE__))