as i said it was an example, but thanks for the flame
--- Todd Vierling tv@pobox.com wrote:
On Fri, 29 Aug 2003, Dustin Navea wrote:
: if (running_on_netbsd && version >= first_version_that_supports_MAP_TRYFIXED) : #define can_use_MAP_TRYFIXED
This damned well does not belong in any multi-OS application. I don't care what crack Alexandre is smoking.
-- -- Todd Vierling tv@pobox.com
===== -- Dustin Navea
Minor Contributor, http://www.winehq.com Bugzilla Janitor, http://bugs.winehq.com Network Admin, irc://irc.blynk.net (down)
__________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com
On Fri, 29 Aug 2003, Dustin Navea wrote:
: as i said it was an example, but thanks for the flame
Well, at this point, "you're welcome," considering the copy you forwarded back to the list was a private response. Have you read the proverbial netiquette handbook yet? However, I am sorry for going off the handle in this case.
See, I'm rather tired of this thread bringing people out of the woodwork with excuses for violating decades of programming practice, with lame and bloated runtime checks, when C preprocessor detection of OS features is valid *even on Windows*. It's rather trivial to say "this binary runs on NetBSD 1.6.2 or newer; pick the other binary for compatibility with 1.6-1.6.1, but it will be slower" and implement a simple #ifdef check. You know, like saying "this binary is for Win98 or later; choose the other binary for more features on Win2k and up". Sound familiar?
"Keep It Simple, Stupid" is a very good motto. Bending over backwards to try to make one binary run on a dozen OS versions, while providing all possible features of the newest OS release, is provably a maintenance headache. It has been done and it has been a pain; that contributed to the invention of autoconf.
If you want to provide multiple levels of compatibility, provide multiple builds and indicate what their build environments were. Builds for older OS releases simply get less features. This doesn't even require multiple machines; one compiler looking at multiple sets of .h and shared libraries is enough.
On August 29, 2003 09:08 pm, Todd Vierling wrote:
If you want to provide multiple levels of compatibility, provide multiple builds and indicate what their build environments were. Builds for older OS releases simply get less features. This doesn't even require multiple machines; one compiler looking at multiple sets of .h and shared libraries is enough.
Todd, let's just drop this -- it's clear we're not going to convice any of the party here to change their views. You're firm on your high horse, and I'm just glad I'm a Linux not a NetBSD user. With this kind of attitude, I can see a mass migration towards NetBSD on the desktop. Not.