Skip to content

Commit 6905781

Browse files
committed
Ruby 4: Enable YJIT/ZJIT
1 parent 5bfaa57 commit 6905781

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

configs/components/ruby-4.0.rb

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,14 +168,47 @@
168168
pkg.configure { ['bash autogen.sh'] }
169169
end
170170

171+
# we want to provide the different just in time compilers where possible
172+
# they require a modern rust version
173+
# https://docs.ruby-lang.org/en/master/jit/zjit_md.html zjit: Rust 1.85.0
174+
# https://docs.ruby-lang.org/en/master/jit/yjit_md.html yjit: Rust 1.58.0
175+
platforms_without_rust = [
176+
'debian-11-aarch64',
177+
'debian-11-amd64',
178+
'debian-12-aarch64',
179+
'debian-12-amd64',
180+
'debian-13-armhf',
181+
'macos-all-arm64',
182+
'macos-all-x86_64',
183+
'sles-15-x86_64',
184+
'sles-16-aarch64',
185+
'sles-16-x86_64',
186+
'ubuntu-22.04-aarch64',
187+
'ubuntu-22.04-amd64',
188+
'ubuntu-24.04-aarch64',
189+
'ubuntu-24.04-amd64',
190+
'ubuntu-24.04-armhf',
191+
'ubuntu-25.04-aarch64',
192+
'ubuntu-25.04-amd64',
193+
'ubuntu-25.04-armhf',
194+
'ubuntu-26.04-armhf',
195+
'windows-all-x64'
196+
]
197+
if platforms_without_rust.include? platform.name
198+
configure_flags = ''
199+
else
200+
pkg.build_requires 'rustc'
201+
configure_flags = '--enable-yjit --enable-zjit'
202+
end
171203
pkg.configure do
172204
[
173205
"bash configure \
174206
--enable-shared \
175207
--disable-install-doc \
176208
--disable-install-rdoc \
177209
#{settings[:host]} \
178-
#{special_flags}"
210+
#{special_flags} \
211+
#{configure_flags}"
179212
]
180213
end
181214

0 commit comments

Comments
 (0)