From: Junio C Hamano Date: Tue, 16 Jan 2007 03:11:49 GMT Subject: Re: [PATCH] Set _ALL_SOURCE for AIX, but avoid its struct list. Message-ID: <7vbqkzzmve.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <17466.1168911289@lotus.CS.Berkeley.EDU> Jason Riedy writes: > AIX 5.3 seems to need _ALL_SOURCE for struct addrinfo, but that > introduces a struct list in grp.h. Yuck. What the h**k is _ALL_SOURCE? What are the valid other possibilities, _ALL_BINARY??? I am wondering if we want to do "#ifdef _AIX" around truly yucky parts. I notice that I did not heed Linus's suggestion to define these to 1 to make them behave identically as "cc -D_GNU_SOURCE", by the way... Also I wonder if we do _ALL_SOURCE before any of the system header files on AIX, if we still need "_XOPEN_SOURCE_EXTENDED 1" which we specifically added for AIX. diff --git a/git-compat-util.h b/git-compat-util.h index 8781e8e..75f8bc3 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -13,10 +13,10 @@ #if !defined(__APPLE__) && !defined(__FreeBSD__) #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */ -#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */ #endif -#define _GNU_SOURCE -#define _BSD_SOURCE +#define _GNU_SOURCE 1 +#define _BSD_SOURCE 1 +#define _ALL_SOURCE 1 /* AIX */ #include #include @@ -45,7 +45,11 @@ #include #include #include + +/* AIX 5.3L defines a struct list with _ALL_SOURCE. */ +#undef _ALL_SOURCE #include +#define _ALL_SOURCE 1 #ifndef NO_ICONV #include