quoted
quoted
quoted
quoted
"Junio" == Junio C Hamano [off-list ref] writes:
Junio> This unfortunately violates the "all common system headers in
Junio> git-compat-util.h" rule, which is needed to define _XOPEN_SOURCE
Junio> and friends before including the system header files.
Junio> And string.h, netdb.h and unistd.h are already included there,
Junio> so there is something deeper going on on OSX.
Junio> Is the declaration of strncasecmp in <string.h> on OSX
Junio> conditional to some macro (and the same question about other
Junio> symbols you did not get)? We need to find out what feature
Junio> macros are expected on that platform and define them as needed.
If one of those defines _POSIX_C_SOURCE (or _ANSI_SOURCE),
then <string.h> does *not* define "strncasecmp", because it has those
under a comment of "Nonstandard routines".
Is anything earlier defining one of these?
And yes, netdb.h also has a lot of those depending on _POSIX_C_SOURCE,
and so does unistd.h
So that's your culprit. You're defining _POSIX_C_SOURCE when you're
not really proper _POSIX_C compliant. Can you just remove that?
And sys/cdefs.h for darwin has this:
/* Deal with various X/Open Portability Guides and Single UNIX Spec. */
#ifdef _XOPEN_SOURCE
#if _XOPEN_SOURCE - 0L >= 600L
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200112L
#elif _XOPEN_SOURCE - 0L >= 500L
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 199506L
#endif
#endif
So that's likely how _POSIX_C_SOURCE is getting defined for the rest.
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
[off-list ref] <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.