make-alpha
[Top][All Lists]
Advanced

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

Re: Case sensitive/insensitive changes needed


From: John E. Malmberg
Subject: Re: Case sensitive/insensitive changes needed
Date: Mon, 26 Jan 2015 19:26:31 -0600
User-agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

On 1/26/2015 12:10 AM, Eli Zaretskii wrote:
From: "John E. Malmberg" <address@hidden>
Date: Sun, 25 Jan 2015 19:16:13 -0600

Currently on GNU Make is either built to be case sensitive or
insensitive as a build time parameter.

On Windows and Unix, including OS-X, I think that the case sensitivity
is a property of the file system, so it is possible to have both case
sensitive and case insensitive file systems mounted.

That would need significant refactoring of the Make code, since it
doesn't just stat a file it wants to find, but instead records the
entire directory in memory and hashes the file names.  So you need
case-insensitive hashes.

That code is already present, but most of it appears to be VMS specific. What I need is to be able to switch it at run-time to behave like Make on Linux.

The properties of ODS-5 case handling is similar to what MSDOS/Windows
case handling should be, so it is surprising to me that some of the code
is VMS specific where it should be common to both.

I guess the surprise will disappear if I say that both the DOS and
Windows ports of Make are traditionally case-sensitive, even though
the file system isn't.  The case-insensitive feature is something
someone contributed, is turned off by default, and I personally never
used it, so I don't know if it works well.

As long as the file system is case-preserving and the recipe does not have two files that differ only in case, that should work just fine.

Some time in the past, a variant VMS build was needed, apparently for JAVA that needed to deal with that, and apparently that has not come up for other platforms that have case insensitive filenames.

The older VMS file system is not case preserving, it presents all files as lowercase to a C program, so it needs case insensitive hashes.

If we only needed to support ODS-5 on VMS, a lot of the VMS specific case insensitive code could be removed.

* hash.h: Will need to do something with these macros.  Not sure what
    yet.

Yes, exactly.  Doing TRT with these might open a path to a better
case-insensitive file support on other systems.

That is why I am asking about other systems to get some feedback.

Thanks,
-John
address@hidden





reply via email to

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