From: Rusty L. <ru...@li...> - 2003-04-28 17:35:24
|
On Mon, 2003-04-28 at 07:41, mo...@mc... wrote: > > > Gentlemen, > > Now that I've pointed out that the OpenHPI project > source codes are not buildable on a recent Debian box > (due to usage of nonstandard, GCC-specific language > features) I confess that I'm a bit concerned by some > of the responses I've seen. > > Change my compiler? It's not like I'm off on the > fringe here - Debian is a well known and widely used > Linux distribution, respected for its stability and > consequently popular as a development environment. > In fact, one might argue that it's the nonstandard, > GCC-specific language features which are off on > the fringe. > > I respectfully assert that gratuitous use of such > features is not only not necessary for the success > of the project, but may even harm your efforts by > conveying the wrong message about your priorities... > > > Regards, > Michael O'Donnell > Mission Critical Linux I do not remember if I ever stated this before, but I would like to target 2001 POSIX and C99 conformance (with possible platform specific features in some of the plugins.) In addition to sticking with standard POSIX functionality, OpenHPI is not about proving every little dark corner of POSIX is implemented by what ever OS. If we discover that a widely used distribution does not implement some arcane aspect of POSIX that OpenHPI is using, then we stop using the arcane feature. DISCLAIMER: I have not spent any time researching C99/POSIX to figure out if any of the issues our code had that breaks the build on gcc <2.6 are standard or not. I could care less if they are standard because if OpenHPI will not build on Debian then, well, I think our project is in trouble. So... to make it clear, the rule is: * First POSIX 2001 & C99 conforming * If the code is a plugin, and needs to make hardware specific (or even kernel specific like a plugin that exposes 2.6 sysfs objects) then that is ok * If a significant distribution breaks on some POSIX'ism or C99'ism then we change the code to not use that particular feature. --rustyl BTW, I have a machine sitting idle in my lab that really need something to do. I am going to load Debian on one of them to test builds on. |