"Joel Baker" <[EMAIL PROTECTED]> writes: > Both are ELF systems, and both define the OS standard symbol for their > respective OSen. However, what I can't figure out is why the NetBSD config > doesn't have -Dunix - it certainly seems to support the various files that > I've seen that used as a trigger for (unistd.h, etc).
You can't be really certain that the NetBSD config doesn't have -Dunix. In gcc 3.2, these things are not controlled through the spec file anymore. Instead, the function builtin_define_std is invoked at runtime. If it is invoked as builtin_define_std ("unix"); then the preprocessor will define __unix and __unix__, and, unless --std=c89 is specified, it will also define unix. To find out what is defined, compile an empty C file with -v -E. > Is this just a crufty value from Days of Yore when NetBSD didn't have > support for the standard that symbol represents? If so, which file do I > need to poke at in GCC to convince it otherwise, at least on Debian/NetBSD > systems? As the starting point, you need to verify that unix really isn't defined. If so, you need to inspect config/netbsd* and config/i386/netbsd* (and their includes); take particular notice of NETBSD_OS_CPP_BUILTINS_COMMON. > I'm also wondering just what is up with the -A flags, and what suitable > values for those are... What do you mean, "is up"? They are assertions, for use with the #QUESTION preprocessor mechanism. While this is potentially very powerful, it is not used widely. Regards, Martin