Subject: Re: [PATCH] Remove more gcc extension usage.

From: Shawn Pearce <[email-masked]>
Date: Sat, 8 Jul 2006 15:03:27 -0400

Junio C Hamano <[email-masked]> wrote:
> Shawn Pearce <[email-masked]> writes:
> 
> > Removing these last remaining extension uses allows GIT to compile
> > with the Sun C compiler rather then gcc.  This can be handy when
> > you are trying to compile GIT on a Solaris system that seems to
> > have a total lack of GNU utilities.
> 
> Two points.
> 
>  - Aren't the constructs you ripped out not GCC extension,
>    rather proper ISO C99?

Hmm.  I'm not sure actually.  I don't do much C hacking these days
so I haven't kept current with what C99 has and doesn't.  I just
know that these small changes made the core plumbing build and run
fine on Solaris with only GNU make being present.  I didn't even
attempt to use the higher level Poreclainish shell script commands.

Monday I'll look to see if there's an option that can be given to
the Solaris compiler to make it accept these constructs.  Maybe a
simple CFLAGS change in my config.mak would resolve what this patch
was trying to do.
 
>  - Our Makefile is pretty GNU already.  I think people have
>    pointed out and ripped out bashisms from our shell scripts,
>    but I would not be surprised if the default Sun /bin/sh does
>    not understand POSIXy features some of them use.

I realize that.  Asking someone to compile GNU make in their home
directory before they build GIT to their home directory isn't a
big deal (took me all of 30 seconds to download the latest and
./configure&&make install it).  Asking someone to download and
compile binutils and gcc because their local site manager won't
install them for you is another matter entirely...

-- 
Shawn.