A: Because on windows, if there exists a ruby-prof-0.8.1-x86-mingw32 with binaries for 1.8.6, and someone on 1.9 does a “gem install ruby-prof”, they will actually receive the 1.8.6 binaries, which will err.
How do I target multiple versions?
Here’s an example
Rake::ExtensionTask.new('ruby_prof', default_spec) do |ext|
ext.cross_compile = true
ext.cross_platform = ['x86-mswin32', 'x86-mingw32'] # these are the two major windows versions
another option would be x86-mingw32-60 if you want to target only msvcrt.dll v 6.0 (the standard). By default mingw cross compile builds link against msvcrt.dll v 6.0. You can mix and match though it’s a bit dangerous (ask on the mailing list).