On 14-Aug-06, 23:35 (CDT), Nathanael Nerode <[EMAIL PROTECTED]> wrote: > Steve Greenland wrote: > Um, this is the exact opposite of the philosophy promoted by Autoconf since > at least version 2.0. "Feature tests, not system tests". I can't speak to > other autotools.
Doesn't matter ("feature tests" was what I was trying to express (badly) with "or library versions or whatever.) Autoconf encourages writing mainline code with different branches in a maze of #ifdefs. Okay, maybe *autoconf* doesn't specificly encourage it, but thats how the vast majority of users of autoconf do it. And guess what? System tests are actually more reliable, especially when the user tells you what the system is. You can simply flip to compiling foo_linux.c or foo_solaris.c and go on your way. There are quite often subtlities in how things work on a particular system that are not distinguishable by simple compile tests about whether or not something is there. > > Real portability involves understanding > > your target systems, learning where the rough edges and corner cases > > are, and developing proper abstractions to work around them. > > Furthermore, 'best practice' use of autoconf is to isolate the feature > differences in a single piece of wrapper code, so that your main code only > has to deal with (e.g.) 'memmove', and it's emulated where it isn't > present. The emulation code is the only code containing #ifdefs, which are > then based on the features detected by autoconf. Ha ha ha ha. I admit there may be some out there who use it that way. Don't see it very often. Also, please, checking for memmove? This is 2006. Everytime I sit through the endless "checking for memcpy()..." crap I cringe. Why are we still wasting my time checking for features that were standardized 17 years ago? And don't give me the "but it will still work on old/weird systems" crap. Most of it won't even compile (much less work!) on Solaris 2.7 or AIX 5, and those are (relatively) recent C89/Posix environments. Steve -- Steve Greenland The irony is that Bill Gates claims to be making a stable operating system and Linus Torvalds claims to be trying to take over the world. -- seen on the net -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]