From: Jonathan Nieder Date: Sat, 03 Apr 2010 07:47:00 GMT Subject: Re: [PATCH] Makefile: update defaults for modern Cygwin Message-ID: <20100403074700.GA24176@progeny.tock> In-Reply-To: <4BB5F94F.3090403@redhat.com> Eric Blake wrote: > On 04/02/2010 12:47 AM, Junio C Hamano wrote: >> Replacing >> this with "ifeq(... ,1 5)" may not be an improvement either, unless we are >> sure that nobody is using 1.4 or older, but I wonder if somebody else have >> better ideas? > > Nothing short of using $(shell) and doing some actual computation on the > string in $(uname_R). But that's not too hard, if people think it's > worth it; speak up if you want me to rework it along those lines, > otherwise I'll assume that things are good enough as-is. Red Hat internal people might want to be able to use 1.8 when it comes out. Maybe something like this would do the trick? I don’t know whether Cygwin 1.6 has the fixes 1.7 does, so in my ignorance I lumped it with 1.5. What you sent is probably good enough already; just trying to avoid future work. -- %< -- Subject: Makefile: future-proof Cygwin version check Tweak the condition that detects old Cygwin versions to not include versions such as 1.8, 1.11, and 2.1. Signed-off-by: Jonathan Nieder --- diff --git a/Makefile b/Makefile index 11ec3e2..a712430 100644 --- a/Makefile +++ b/Makefile @@ -831,7 +831,7 @@ ifeq ($(uname_S),SunOS) BASIC_CFLAGS += -D__EXTENSIONS__ -D__sun__ -DHAVE_ALLOCA_H endif ifeq ($(uname_O),Cygwin) - ifneq ($(wordlist 1, 2, $(subst ., ,$(uname_R))),1 7) + ifeq ($(shell expr "$(uname_R)" : '1\.[1-6]\.'),4) NO_D_TYPE_IN_DIRENT = YesPlease NO_D_INO_IN_DIRENT = YesPlease NO_STRCASESTR = YesPlease --