Feature #3943
closedenabling builds with llvm-gcc
Description
=begin
Recently I've made progress on building trunk using an MSYS + llvm-gcc v2.8 toolchain (Win7 32-bit Ultimate) but have run into a couple of issues I believe could be resolved via autotools mods. Unfortunately, I lack the expertise needed to submit a patch for your review and, sadly, lack the time/desire to invest in autotools as CMake and waf meet my needs.
The current build failures appear to be caused by the generated GNUMakefile. Specifically, the current failures [1] (bottom file) are caused by "dllwrap" and "windres" invocations in GNUMakefile [1] (e.g. - lines 5, 41, 80) not using the correct driver program when "configure" is given env vars of CC=llvm-gcc, CXX=llvm-g++, and CPP=llvm-cpp. The fix is simply to give dllwrap a --driver-name option and windres a --preprocessor option and optionally a -DRC_INVOKED. There may be other required fixes after these two have been solved.
FYIW, I've tested these types of fixes by patching makefile's for Vim [2] and the RubyInstaller build recipe [3] for the OpenSSL dependency.
As I've recently updated the RubyInstaller build recipes to support building on Windows with multiple gcc-based toolchains [4] my goal is to resolve the few remaining build config issues so that MRI Ruby can be built with llvm-gcc (and others) on both Windows and *nix systems.
What specifically am I requesting?
I'm requesting the maintainer of ruby-core's build system work with me to resolve any configure.in, config.guess, config.sub, and any other issues that currently prevent llvm-gcc based builds. I can offer quick testing and feedback of any changes on a Win7 32-bit system as the RubyInstaller recipe mods [4] allow me to quickly build an MRI Ruby trunk from source (with dependencies) as simply as:
rake ruby19 local="C:\ruby-git-repo" dkver=llvm-32-2.8
Please feel free to contact me offline or reply if more info is needed.
Thank you,
Jon
[1] http://gist.github.com/624215
[2] http://code.google.com/p/vim/source/browse/src/Make_ming.mak#306
[3] http://github.com/oneclick/rubyinstaller/blob/dk32-451/recipes/dependencies/openssl.rake#L60-L68
[4] http://github.com/oneclick/rubyinstaller/compare/master...dk32-451
=end
Files