Skip to content

Commit d593a8c

Browse files
committed
Ruby 4: Enable YJIT/ZJIT
Signed-off-by: Tim Meusel <tim@bastelfreak.de>
1 parent 2530516 commit d593a8c

1 file changed

Lines changed: 34 additions & 1 deletion

File tree

configs/components/ruby-4.0.rb

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,14 +135,47 @@
135135
###########
136136
pkg.configure { ['bash autogen.sh'] }
137137

138+
# we want to provide the different just in time compilers where possible
139+
# they require a modern rust version
140+
# https://docs.ruby-lang.org/en/master/jit/zjit_md.html zjit: Rust 1.85.0
141+
# https://docs.ruby-lang.org/en/master/jit/yjit_md.html yjit: Rust 1.58.0
142+
platforms_without_rust = [
143+
'debian-11-aarch64',
144+
'debian-11-amd64',
145+
'debian-12-aarch64',
146+
'debian-12-amd64',
147+
'debian-13-armhf',
148+
'macos-all-arm64',
149+
'macos-all-x86_64',
150+
'sles-15-x86_64',
151+
'sles-16-aarch64',
152+
'sles-16-x86_64',
153+
'ubuntu-22.04-aarch64',
154+
'ubuntu-22.04-amd64',
155+
'ubuntu-24.04-aarch64',
156+
'ubuntu-24.04-amd64',
157+
'ubuntu-24.04-armhf',
158+
'ubuntu-25.04-aarch64',
159+
'ubuntu-25.04-amd64',
160+
'ubuntu-25.04-armhf',
161+
'ubuntu-26.04-armhf',
162+
'windows-all-x64'
163+
]
164+
if platforms_without_rust.include? platform.name
165+
configure_flags = ''
166+
else
167+
pkg.build_requires 'rustc'
168+
configure_flags = '--enable-yjit --enable-zjit'
169+
end
138170
pkg.configure do
139171
[
140172
"bash configure \
141173
--enable-shared \
142174
--disable-install-doc \
143175
--disable-install-rdoc \
144176
#{settings[:host]} \
145-
#{special_flags}"
177+
#{special_flags} \
178+
#{configure_flags}"
146179
]
147180
end
148181

0 commit comments

Comments
 (0)