> On December 8, 2002 03:27 pm, Patrik Stridvall wrote:
> > It is faster. Mucher faster. Using cpp/gcc -E needs to
> > fork a new process for example.
>
> What?!? You got to be kiddin', right? If you can measure
> any difference in build time between the forking gcc -E
> and using wpp I'll give you a dollar in small change.
I personally have only tried piping every file parsed by
winapi_check through "gcc -E" and it is was unbearably slow,
so I removed the code. The parsing it itself can't possibly
taken that extra time.
So I'm pretty sure that I can measure it, yes.
However, the big question is not if it is measuarable but
rather if it is worth the cost or not. So, yes, I agree
that we need to discuss the question.
> On Linux process creating is extremely fast, and we do
> fork 1000s of processes while building wine, this sort
> of argument is just silly.
Well, it is not really the "fork" in it self that is the
problem it is the overhead of loading and initializing
gcc and that sort of things.
> By the same rationale I suggest having a complete copy
> of gcc, ld, nm, and whatever tools we use while building
> wine.
It is not primarily a question of having a complete copy
of whatever. It is a question of having whatever accessable
as functions in a library to avoid a lot of unnessary
overhead.
It would be very nice it something made a GNU C compiler
library to support among other things only running
the preprocessor.
> So no, if speed is the only argument, I say we get rid
> of it: it's not worth maintaining a fraction of all that
> additional code.
1. Depending on "gcc -E" will make it harder to port wrc to Windows.
2. It might be less flexible (not sure though).
> > And then of course using "gcc -E" would possibly cause
> > a GPL violatation. Not that it would matter very much
> > if wrc and friend were GPL:ed.
>
> WTF are you talking about?!? How did you figure this one
> out? Really, this is simply false, you can fork GPL
> programs all you want, and cause no GPL violation.
The FSF claims that you forking and calling a GPL:ed executable
is the same as linking with a GPL:ed library and calling
functions in that library.
This is of course absurd and would IMHO opinion nether fly in
a court of law but still....
Sure wrc and friend are under a GPL compatible license (LGPL),
so it wouldn't be a direct violation. However Wine has a policy
that we do not link with GPL:ed libraries regardless in order to
avoid possible problems for companies working with Wine so
no we really can't make wrc depend of "gcc -E".