Why are you specifying a standard and then using features outside its
scope?  Either you want a BSD environment (in which case don't specify
The standard is specified to get the standard functions. Eg. if i specify _POSIX_C_SOURCE=200112L then I want (for example) POSIX's flockfile, if the OS supports POSIX. This doesn't mean that I don't want rpc. This means that I need to change third party code, which needs POSIX functions, not to declare POSIX/POSIX_C_SOURCE/XSI to get BSD/other functions (and inderectly the POSIX 200112 functions).
Since it isn't that way on any UNIX (at least I know about) vendors are forced to do special treatment for FreeBSD. Which is IMHO really bad and may lead to less support for FreeBSD.

a standard), or you want a standard environment (where file.h doesn't
exist).  Indeed what you are trying to do is unsupported.
IMHO this is bad and breaks compilation of much third-party code.

For details on how to write a conforming application see section 2.2
of POSIX.1-2001.
I've read/looked at the standard (see my posting to standards@) and I don't think it forces FreeBSD's behaviour. I even think FreeBSD's behaviour isn't the spirit of the standard.

Best regards,
Marc

"Premature optimization is the root of all evil." -- Donald E. Knuth

Attachment: msg48356/pgp00000.pgp
Description: PGP signature

Reply via email to