Gallium3D For Haiku Is Being Addressed
Phoronix: Gallium3D For Haiku Is Being Addressed
It turns out that a developer is bringing Mesa's Gallium3D driver support to Haiku -- the operating system that seeks to re-implement BeOS as open-source -- per an outstanding monetary bounty...
(stupid character limit)
Highly unlikely that they'll be able to convince the Mesa developers to use GCC2-compatible code in mainline. There's too many benefits to using new features in GCC4, and more #ifdefs will make the code unreadable.
BeOS needs to use a compiler that's being actively developed, maintained, and receiving new features as language standards evolve. Unless someone wants to volunteer to support C++0x on the GCC2 platform, that's not very likely.
Oh and presumably they're using the *actual* GCC 2.x, not 2.95 (which is probably derived from egcs, which eventually became gcc3)? Pre-egcs gcc was terrible. I've used it.
Core mesa code does make a point to stay compatible with MSVC, so they can't use any of the newer GCC features anyway. But individual drivers are free to use whatever they want, and I'm sure the r300g/r600g/nouveau/etc. drivers do.
Originally Posted by allquixotic
Haiku does have a GCC4 version, it's just that they still default to the GCC2 version so that binary code from 10 years ago is still able to run on their new OS. Sooner or later they're going to have to give up on that and embrace the future.
Yes, they are fully aware of this themselves as GCC2 binary support will officially be deprecated beyond R1 which makes it even harder to understand why they are so intent in keeping it in R1. It's not as if there's any critical Beos/GCC2 software out there that I can think of. Either way, they will keep GCC2 binary support for R1 but that doesn't mean that they need to make gallium3d support available for GCC2 based systems, right? Perhaps the problem lies in the hybrid systems with both GCC4 and GCC2 libs/binaries.
Originally Posted by smitty3268
...any particular reason why they can't have both gcc2 and gcc4? you can have multiple versions of python, java, and other languages at a time. considering how old gcc2 is, i doubt its very big so if they're worried about disk consumption then they shouldn't.
either way i wish this guy success. as much as i don't care about beos in the slightest, its nice to see a free, open-source, non-linux-based OS make progress.
Originally Posted by schmidtbag
Its because the goal for R1 is a compatible BeOS replacement. They are sticking to that since if they didn't they probably would lack direction as it stands they have clear goals which are important for such projects.
And yes they are aware how ancient GCC 2.x is... it was even considered not building an updated mesa at all and just sticking with the old one for GCC 2 which would probably be fine but hey more power to em
right i understand that but it doesn't answer my question - why not use BOTH? use gcc2 for native beos programs, and gcc4 for the new stuff. i see no problem in that.
Originally Posted by cb88
Well they do use both... releases are GCC2 + GCC4 libraries and the correct libs are loaded at runtime. They also have builds that go the other way... so GCC4 + GCC2 libs the former is a tad more compatible though with old screensavers and such in my experience.
The reason they are building GCC2 Mesa is if possible they would like to use the same version of mesa for GCC2 and GCC4 builds and if they can be feature equivalent if it isn't too hard I expect from what I've read they are trying to avoid putting too much energy into making GCC2 mesa work... In any case its loads less complex than the highly modified Mesa they were using.
Also note that thier GCC4 ABI isn't considered stable like the GCC2 one is so.. software you want to run for sure should target GCC2 otherwise expect to have to recompile every so often to get it to work.
Last edited by cb88; 01-09-2012 at 01:00 AM.