> The compiler builds fine for me on MinGW + MSYS on Windows.
If you could write up some step-by-step instructions, that would be great.
We've had *lots* of people complaining that they can't figure out how to
build it.

> When I get some time, and if it would
> help, I could build a .MSI that has thrift.exe and some .dlls.
That would be awesome.

--David

On 08/27/2010 09:24 AM, Michael Lum wrote:
> The compiler builds fine for me on MinGW + MSYS on Windows.  Autotools,
> lex, and yacc are only needed to build Thrift from source, not to
> generate code from Thrift IDLs.  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.
> 
> 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.
> 
> On 8/27/2010 7:39 AM, Rush Manbert wrote:
>>
>> On Aug 26, 2010, at 5:15 PM, Mark Slee wrote:
>>
>>>>> I have to admit that when I first looked at the Thrift compiler
>>>>> I was a bit puzzled by the choice of language and the
>>>>> dependence on Boost. then I realized that they probably didn't
>>>>> have open sourcing it in mind when they made that decision.
>>>
>>> I'll provide the historical backstory here in case folks are
>>> interested. C++ was actually chosen *because* of the early
>>> commitment to open source. C++ was by far the best available option
>>> for ease of distribution and installation. Using Python would have
>>> required everyone to have the right Python extensions, like PLY,
>>> which are not part of the core language. This work started in 2006
>>> -- Python has continued to gain popularity over the past 4-5 years,
>>> not all developer were so on board with it back then. Same issues
>>> with Java -- the core language does not have a parser built in.
>>> Also, there are still a fair amount of people interested in Thrift
>>> that fall in the religiously-anti-Java camp (I am not one of them,
>>> I like Java, but I accept that for better or worse a lot of
>>> systems-y people dislike it). Not all Linux distributions have
>>> consistent Python/Java interpreters setup as part of vanilla
>>> installs (notably, the images we were using at Facebook did not
>>> include a Java runtime, as we generally had no need for it). And if
>>> you don't have root, dealing with things like site-packages and
>>> paths is a big headache. So, using those languages would have meant
>>> putting a big hurdle in front of many users considering trying out
>>> Thrift.
>>>
>>> By contrast, lex/yacc are *completely* standard. You'll be
>>> hard-pressed to find a *NIX distro anywhere on Earth that doesn't
>>> have working versions out of the box, they've been around forever
>>> and their interfaces are super stable. Like the autotools, even if
>>> they're not the prettiest things to work with, everyone has them
>>> lying around, and they almost always just work. Choosing C++ meant
>>> that for 99% of users, getting the compiler up and running (step
>>> one in evaluating Thrift) was as simple as (1) download (2)
>>> configure (3) make.
>>>
>>
>> Just one small comment. It seems that most on this list don't really
>> care about Windows compatibility. (Not a criticism. That's just the
>> picture that I get.) The argument can be made that if you want to use
>> Thrift on Windows, you just install Cygwin and have at it.
>>
>> But many people can't do that for various reasons, and lex and yacc
>> are not available, nor are the autotools. I have managed to wrestle
>> the entire C++ runtime library into a shape where it can be used in
>> Windows without requiring any GNU tools installed. (Of course, I had
>> to use more boost libraries to make that happen. :-) But I couldn't
>> do anything about the Thrift compiler. For us, and others who develop
>> on both Windows and *nix platforms, we can sidestep the compiler
>> issue by generating all the code on the *nix system. But it seems to
>> me that this is a rather large barrier to adoption in the Windows
>> world.
>>
>> For us, the Thrift compiler performance is absolutely not an issue,
>> and I don't think it would become one if the compiler were written in
>> Java. As long as it Just Worked and only required us to install a
>> standard Java distro, I'd be happy.
>>
>> So I'm +1 on a Java version of the compiler.
>>
>> - Rush
>>

Reply via email to