I was encountering some build issues on MicroOS and needed the actual exception message in order to pinpoint a workaround.
Co-authored-by: Mislav Marohnić <git@mislav.net>
This was only used in Ruby versions < 1.9.3, which are now EOL.
This also removes a 11-years old workaround for building Ruby 2.0 with clang.
06d7994bcf
This was used by Rubinius over the years to ensure that a correct llvm version was selected from the ones available on the system, but for recent Rubinius this function is a no-op, and since Rubinius isn't an actively maintained project anymore, I don't feel strongly for keeping ruby-build workarounds that only help ancient Rubinius versions.
* Use pkg info for readline/libedit prefix on FreeBSD instead of hardcoding it
* Use yaml and ffi installed via pkg on FreeBSD
* Remove check for FreeBSD version and allow all versions
Latest Ruby 3.2 development version now detects `rustc` on the system and automatically assumes `--enable-yjit` on susupported platforms unless `--disable-yjit` was explicitly passed.
MRI's BigInt use GMP under the hood if available, and if not
fallbacks to an homemade implementation with much worse performance.
Without GMP:
```
>> Benchmark.realtime { Integer('1' * (10 ** 7)) }
=> 13.80743500002427
```
With GMP
```
>> Benchmark.realtime { Integer('1' * (10 ** 7)) }
=> 0.4098639999865554
```
macOS not being a common production platform, it's not a huge deal
but it would still preferable to compile with `gmp.h` if present.
I'd also suggest to print a warning if compiling on macOS and gmp
isn't installed, but I don't know if it's desirable.
NB: `--with-gmp-dir` was only added recently, so this will only
apply to MRI >= 3.2, as well as rubies on which this flag was backported.