Well, if we get the Windows build process documented and scripted, then
it should be trivial to publish the binaries for all Thrift versions
going forward. David already got the cross-compiler working.
The point of saying that it compiles fine for me is to make the
statement that it *is* possible to compile it on Windows, not to say
"hey, it works for me, what's wrong with you?" Since it is possible,
then it can be documented, and then scripted, and then we can patch it
until it works for everyone.
On 8/30/2010 5:40 AM, Bjorn Borud wrote:
Michael Lum<[email protected]> writes:
The compiler builds fine for me on MinGW + MSYS on Windows.
years ago I saw a talk given by one of the PHP core developers that had
an important slide. The slide said: "nobody cares if it works for you".
yes, many people manage just fine to build the Thrift compiler on
windows, but for most people it *is* fiddly and it *is* an unwanted
complexity. ignoring this fact is not the way to stimulate the success
of a technology. (after all, just look at how successful PHP has been
as a project, and not even Rasmus Lerdorf would claim that PHP is
"beautiful" or "optimal" -- but it does what it says on the tin with
a minimum of fuss. which is a key selling point).
(for me there is an additional level of complexity: I don't use Windows
and on my project, the people who do use Windows neither should nor
particularly want to maintain the Thrift compiler binary for Windows)
Autotools, lex, and yacc are only needed to build Thrift from source,
not to generate code from Thrift IDLs.
this would not be an issue if statically linked binaries for all
platforms were published for each (snapshot) version of thrift. which
is not the case (I'm not sure you'd want to). so it means that you
*do* have to deal with this in a typical project.
When I get some time, and if it would help, I could build a .MSI that
has thrift.exe and some .dlls. Windows users could then generate
Thrift code without the need for Cygwin, MinGW, or anything.
of which version? for this exercise to be meaningful you would have to
offer all the versions that are used in various releases of projects
like Cassandra.
This is not an anti-Java position (we use Java extensively here), I'm
just saying that so far all the reasons given so far for switching the
compiler to Java have been build and packaging related, not with the
C++ language itself.
exactly, but as it turns out, building and packaging is important.
especially since Thrift is neither in the official Maven repositories,
nor are binaries provided for all the odd snapshot releases that are
currently used in the wild.
-Bjørn