Feature #3943: enabling builds with llvm-gcc
http://redmine.ruby-lang.org/issues/show/3943

Author: Jon Forums
Status: Open, Priority: Normal
Category: build

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


----------------------------------------
http://redmine.ruby-lang.org