make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Insensitive wildcard matching


From: Alessandro Vesely
Subject: Re: Insensitive wildcard matching
Date: Wed, 28 Jul 2004 11:28:08 +0200

Eli Zaretskii wrote:
> 
> The point is precisely that you don't have to switch your shell to
> enjoy the power of a (ported) Unixy echo.exe.  Switching to a Unixy
> shell is a very hard decision; many users don't want to do that, but
> they do want to be able to run Unixy Makefile's.

It is not hard: one works in a regular cmd.exe window and only gmake
uses sh.exe behind the scenes. Installing sh.exe is not more trouble
than installing echo.exe...

Anyway, I don't think that's the most importanto point. Let's say there
are three general categories of makefiles: generically unixy, windoze
brand-specific and GNU. Admittedly a skewed view, but it is true that
in Unix you have a rather good compatibility among divverent makes,
which is the reason why tools like automake exist. On the opposite, you
can never run MS's nmake on a makefile for, say, Borland's make. This means
that for Windows targeted apps I must use MSVC to stay on the market,
unless I can point my customer(s) to a tool that easily allows porting
among different compilers. That tool is GNU make.

Are you with me? Since we don't have Autoconf/Automake on W32, we need
to use GNU make specific features in order to go. As compiler-porting
is somewhat easier than platform-porting, GNU make may suffice. However,
we need those features to work properly: generic unixy behaviour would
require to use Autoconf... That's an important point, I think.

I could not find a compiled gmake that delivers $(wildcard stuff)
properly. Perhaps it's me, but I had to patch  a couple of
HAVE_CASE_INSENSITIVE_FS-specific points to make it work. The really
needed one is FNM_CASEFOLD in glob.c, the much-discussed strieq in job.c
is actually not stringently needed. (A separate story is about tempnam
in job.c: that is a plain bug. Unfortunately, I submitted the patch
for it together with the streq/strieq stuff, because it's the same file).

I apologize for lengthy writing, but I still had no feedback for the
bug submitted and this thread concentrates on the less relevant part.
Eli, do you think I should resubmit 3 separate patches? And will patches
against 3.80 do? (I have seen version 3.81 mentioned (or was it 3.80.1?)
but dunno where it is.) Can you help me, please?


> [...]
> > (The MS link.exe, at least the version coming with MSVC 5, wants case
> > sensitive environment variables.)
> 
> DJGPP programs support case-sensitive variables, but Windows forcibly
> upcases them when it prepares the environment block for a DOS program.

Aha! Now I think I got it. Thanx.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]