Re: [PATCH] Don't define _XOPEN_SOURCE on MacOSX and FreeBSD as it is too restricting
- From
- Rocco Rutte <pdmef@gmx.net>
- Date
- Dec 22, 2006, 12:55 UTC
- Message-ID
- <20061222125505.GB3773@peter.daprodeges.fqdn.th-h.de>
- In-Reply-To
- <20061222114722.GA11274@fiberbit.xs4all.nl>
Hi,
* Marco Roeland [06-12-22 12:47:22 +0100] wrote:
>In fact on FreeBSD the problem seems to be only that when _XOPEN_SOURCE >is defined, than the macro __BSD_VISIBLE is unset or 0. Adding just
>#ifdef __FreeBSD__ >#define __BSD_VISIBLE 1 >#endif
The first patch I sent in did exactly that via -D__BSD_VISIBLE set in the Makefile and Junio correctly complained that the __-prefix is meant to be for internal use only. I bet he'll say the same about this flavour of defining __BSD_VISIBLE. :)
I was just too lazy to recursively go through the #define/#ifdef parts of header files to find why __BSD_VISIBLE is needed.
Second, in <sys/cdefs.h> _XOPEN_SOURCE indirectly influences __BSD_VISIBLE through _POSIX_C_SOURCE. The latter is defined for values of >=500 for _XOPEN_SOURCE so that even
#define _XOPEN_SOURCE 499
works fine on FreeBSD.
I'm still in favour of simply adding '!defined(__FreeBSD__)' to git-compat-util.h as soon as possible to push out a maintaince release that at least compiles (on FreeBSD)...
bye, Rocco
-- :wq!