delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/12/22/14:19:25

From: jalvo AT cloud9 DOT net (John Alvord)
Subject: Re: %.o: %.c - case sensitive
22 Dec 1998 14:19:25 -0800 :
Message-ID: <Pine.BSF.4.05.9812220955250.17500-100000.cygnus.gnu-win32@earl-grey.cloud9.net>
References: <19981221223146 DOT 20567 DOT qmail AT findmail DOT com>
Mime-Version: 1.0
To: Sheetal Gangakhedkar <sheetal AT vsisinc DOT com>
Cc: gnu-win32 AT cygnus DOT com, al AT vsisinc DOT com, kei AT vsisinc DOT com, kim AT vsisinc DOT com,
John Alvord <jalvo AT cloud9 DOT net>

I did some work on this a few months ago and the problem is pretty
hopeless. Win32 is vaguely case sensitive... it will preserve the case of
a particular file. But it will not allow Xxx and XXx in the same
directory. Win32 is case preserving rather than case sensitive.

At the same time, most file oriented functions like stat(), are case
insensitive. They lower case the input name and lower case the target
names before testing. Thus if you have a XXx file and check for the xxx
file, the results returned will be for the XXx file.

Make is confused by this, in some sense. When working on a directory, it
uses (FINDNEXT() ?) to read out each filename from a directory one at a
time. The value returned from FINDNEXT() is the case preserved value. At
the same time, it uses stat() to determine presence of a file, which is
case insensitive.

Thus if you are have XXx, but want xxx, the FINDNEXT() value indicate it
is not present. If there is a specific dependeny, where XXx is named in
the rule, then stat() will show that XXx is present (in the guise of xxx).

I did some experiments changing make to deal with this reality, but soon I
gave up and just forced all files into lower case. I realized I would have
to re-implement stat() to make any headway and I didn't want that much
dependency on internals.

John Alvord


Music, Management, Poetry and more...
           http://www.candlelist.org/kuilema
 
Cheap CDs @ http://www.cruzio.com/~billpeet/MusicByCandlelight
 

On 21 Dec 1998, Sheetal Gangakhedkar wrote:

> After a lot of testing, I was able to find the problem. The problem seems to occur when the makefile looks for a filename or path match when it expands the expressions of kind "%.o" or "%.c".  It only tries to look for files that are lower case. 
> 
> How is everybody getting around this bug? Should'nt the win32 version be case insensitive?
> 
> Any input would be appreciated.
> -
> For help on using this list (especially unsubscribing), send a message to
> "gnu-win32-request AT cygnus DOT com" with one line of text: "help".
> 

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019