From: Junio C Hamano Date: Sun, 21 Jul 2013 05:53:36 GMT Subject: Re: [PATCH] Fix compilation on OS X. Message-ID: <7vr4essbkv.fsf@alter.siamese.dyndns.org> In-Reply-To: <51EA7D58.3050800@web.de> Torsten Bögershausen writes: > On 2013-07-20 09.49, Benoit Sigoure wrote: >> +#ifdef __APPLE__ >> +// On OS X libc headers don't define this symbol. >> +extern char **environ; >> +#endif >> + > A more generic approach could be: > > In the file "config.mak.uname": Define a variable in the Darwin section like this > NO_EXT_ENVIRON = UnfortunatelyYes Actually, it is _wrong_ for us to rely on system header files to define this symbol for us. Declaring "extern char **environ" is responsibility of the user programs (like us). When _GNU_SOURCE is defined glibc header (I think it is unistd.h) seem to define it for us. Perhaps the correct fix is to revert ec535cc2 for everybody, and if MinGW needs such a workaround, do it inside #ifndef MINGW?