On 2009-12-28 at 12:24:58 [+0100], Stéphane Charette <stephanecharette@xxxxxxxxx> wrote: > This e-mail is about the "why" behind hybrid builds. (I'll start a > different e-mail thread to handle my questions regarding "how".) I've make > some newbie assumptions: > > ASSUMPTION #1: gcc 2.95.3 is solely for people with old BeOS apps hanging > around Nope. gcc 2 is also for developers writing applications that they want to run on future Haiku releases without binary compatibility issues. The gcc 2 API (the public non-experimental part that is) comes with binary compatibility guarantee. The gcc 4 interface does not -- it's very likely that we'll break things. > ASSUMPTION #2: gcc 4 is almost ten years older then gcc 2, contains a > truckload of fixes and new stuff, and thus must be better than gcc 2 at many > things (remember, gross newbie assumptions here!) Yep. AFAIK the only downside is that gcc 4 is slower than gcc 2 (the compiler, not the produced code), if that is of any importance to you. > Here are my questions: > > QUESTION #1: Without starting a flame war over semantics or > code/implementation/theory details, are assumptions #1 and #2 valid? > > QUESTION #2: As a new developer to Haiku, with no old BeOS software hanging > around on my shelves, should I want a hybrid build, or should I just build > with gcc4? If you don't care about binary compatibility either, then a non-hybrid gcc 4 is just fine. Please note that a hybrid installation will add convenience, though, since you will be able to run binary packages of applications regardless of the compiler flavor. > QUESTION #3: What is the difference between the two hybrid flavours, GCC2/4 > and GCC4/2? The former is a system completely built with gcc 2, additionally including a set of libraries and some add-ons built with gcc 4. Most gcc 4 applications will run on it without problems. You will probably run into problems with applications that use add-ons, if the compiler for the application and the add-ons don't match. > QUESTION #4: If the answer to question #2 is that I should use a hybrid, > how do I know if I should use GCC2/4 or GCC4/2? I would recommend a hybrid installation for convenience. Which one doesn't matter all that much. Personally I'm usually using a gcc 4/2 installation, mainly because that's the compiler Haiku will eventually switch to, and because I prefer working with gcc 4. The latter isn't a real argument though, since one can easily switch between compilers anyway. CU, Ingo