Subject: Re: %.o: %.c - case sensitive
From: [email-masked] (John Alvord)

22 Dec 1998 14:19:25 -0800
Message-ID: <[email-masked]>
References: <[email-masked]>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: Sheetal Gangakhedkar <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked], [email-masked],
        John Alvord <[email-masked]>

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
> "[email-masked]" with one line of text: "help".
> 

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".