If compiler predefined macros like __linux__ or __NetBSD__ are OK for
<skalibs/nonposix.h>, how about #if defined(__linux__) ||
defined(__GNU__)? GCC predefines both __GNU__ and __gnu_hurd__ (I
think, can be checked with 'cpp -dM - </dev/null') when compiling for
the Hurd, and I suppose no other compiler targets that OS...

Do you mean __GNUC__ instead of __GNU__ ?

Testing defined(__GNUC__) would yield true whenever the compiler is gcc,
so _GNU_SOURCE would be defined even on BSDs when people use gcc. Not
optimal, and would make behaviour different depending on the compiler.
I'd rather #define _GNU_SOURCE unconditionally.


Do you mean doing something like:

#ifndef PATH_MAX
#define PATH_MAX 4096
#endif

or removing references to PATH_MAX altogether?

 The latter wherever possible. It's easy enough to compile with
-DPATH_MAX=4096, and I'd rather keep it like this than pretend to work
without PATH_MAX but fail with very long path names.

--
 Laurent

Reply via email to