ruby: fix yjit for target and host build
Since ruby 3.3.0, yjit was converted into rust code. During build, ruby will try try to use the whatever rustc is available in $PATH, including the one provided by the OS. Variations in that rustc can generate something between a perfect funcional build with yjit enabled and a broken build like this (from github actions):
2024-10-16T05:06:05.9863422Z linking static-library libruby-static.a
2024-10-16T05:06:06.0625182Z LLVM ERROR: Invalid encoding
2024-10-16T05:06:06.1531894Z make[4]: *** [Makefile:318: libruby-static.a] Aborted (core dumped)
Ruby 3.3.5 still only supports yjit for x86_64 and aarch64. Even for those targets, ruby build does not support cross-compiling.
This commit adds rust as a dependency for those supported archs, even when cross-compiling, to let it work when host and target arch matches.
We don't need yjit for host build and we can disable it.
Closes #25151, #25052
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>