Written by Karl vom Dorff Monday, 21 June 2010 16:38
Today andrewzx1 sent a private message asking about the differences between Haiku GCC2 / GCC2 hybrid / GCC4. Instead reply there, I think that is much better write a bit about it here.
There's so much concern about what flavor is better for today use. While many still using Alpha2, many others have always moving ahead, changing your own Haiku with every change in the SVN tree.
Let's talk about it:
FLAVORS:
* GCC2 only - For BeOS purists. Only runs old BeOS apps and gcc2 apps only, because your main goal is stay legacy compatible. It means that WebPositive is not for you. I doubt that somebody is using it actually. In general, Haiku GCC2 system based always seem very slow and unstable for me.
- the lib folders is in
/boot/common/lib
/boot/system/lib
- all servers are GCC2 based (of course)
- You have only a GCC2 Compiler
- all BeOS apps will work (in thesis).
* GCC2 hybrid - the same as above. Since april/2009, is possible use Haiku with 2 compilers: gcc 2.95 (the BeOS one with improvements) and the latest (for abril/2009) gcc 4.3.3. Then, Haiku project turned your default releases into GCC2 hybrid. Haiku Alpha02 is a gcc2 hybrid. Why? Because there's apps and libs that are in constant development, which requires newer compilers.
The main differences are.
- - the lib folders is in
/boot/common/lib
/boot/system/lib
still, but now you will have GCC4 libraries (copy of system GCC2 ones) as well
/boot/common/lib/gcc4
/boot/system/lib/gcc4
- - Now you can use Webpositive, Qt, and more newer stuff
- - The main problem is: *There's no GCC4 media_server, media_server_addon and OpenGL renderer!* . See below.
* GCC4 hybrid - All the system is entire built with gcc 4.3.3 compiler. In theory, is faster and stable than GCC2 based ones. The default compiler is GCC4, but you can build and use GCC2 apps too.
- - the lib folders is in
/boot/common/lib
/boot/system/lib
- - The only GCC2 things is the compatibility libs in
/boot/common/lib/gcc2
/boot/system/lib/gcc2
- - Here is the main difference: If I build an app that requires GCC4, and have sound and opengl, it will use GCC4 media_server, media_server_addon and OpenGL renderer. *BUT* the same app will not run in a GCC2hybrid system, because, like I said, you don't have GCC4 servers there. It's sad, but apps in development will always need of newer compilers. The world move on, the BeOS was dead almost 10 years by now...
* GCC 4 only - The same of GCC 4 hybrid, but without GCC2 stuff. Used only for 64 bit and ARM port developers, AFAIK.
MY CHOICE:
Here in home, I use Win7, Haiku GCC4 hybrid, and Ubuntu with grub bootloader. Of course that I use Ubuntu only for download Haiku latest sources, and have a newer build every week. But why I use GCC4hybrid? Simple. I'm only a porter. The only thing that I can program is Visual Basic 5, and create some websites with HTML+Flash (remembering my BlueEyedOS days). Luckly, C/C++ apps are very easy to understand and do small adaptations in order to run in Haiku. Beyond that, I like to play football games, watch movies, hear Death Metal and study a lot to get a payjob.
The actual state of open source games are that 3D is essencial. 3D libs too. Our system don't have 3D stuff yet, which remains SDL 2D games. But, like I said, newer games requires newer compilers with newer libs. For example:
* Game A can be built with GCC2, linking with SDL gcc2 = all Haiku flavors.
* Game B only can be built with GCC4. So, linking with gcc2 libs will not work (or will, since that the lib in question don't use any server to work. eg: Libintl). Then, you'll need of GCC4 libs too. = Haiku GCC4, GCC4hybrid, and if the Game B don't use any lib that needs GCC4 servers then Haiku GCC2hybrid.
* Because of this, I recommend to you build by yourself and use a Haiku GCC4hybrid: You'll have a faster and stable system, with newer apps. And legacy BeOS apps, Haiku specific apps, all will work. There's no downside! *
I'M WORKING ON THAT:
Mainly, I doing ports for Haiku Ports. Join now too! Since games use a great number of libs, is neccessary port before many of them! Some times, review tickets there takes too much time, so slow down development.
For games, I and HaikuBot are hitting our heads to the wall with VCMI (Heroes III engine). Seems that client/server apps structure is not possible in Haiku yet. Freeciv is another too. Maybe takes some time.
Actually, I'm building glib, pango and SDL pango for MaxOS use in Wormux and Wesnoth port.
For now, that's it. More only when Haiku move forward.
Top Downloads in 30 Days
Search Files
Newest Files
| May 20 |
|
| May 19 |
|
| May 12 |
|
| May 8 |
|
| May 6 |
|
