From: Keith M. <kei...@us...> - 2007-09-28 16:44:31
|
On Fri, 2007-09-28 at 07:44 -0400, Earnie Boyd wrote: > > Quoting Charles Wilson <cwi...@us...>: > > > > > While it *might* [1] be appropriate to enable .PHONY targets to be > > case-sensitive, even if --case-insensitive-file-system, I do /not/ > > believe it is appropriate to turn off that option when dealing with the > > win32 platform. With the exception of cygwin's "managed mounts", the > > underlying file system is never case sensitive -- case preserving, yes. > > Pretending otherwise -- and distributing a make.exe which believes > > that falsehood -- can only lead to trouble. > > > > IMO, --case-insensitive-file-system should not be used for the MSYS > build of make. The reason is that we are trying to allow the creature > comforts of POSIX as much as possible for ``configure && make'' and > this switch doesn't allow for the creature comfort. Well then, we have a fundamental difference of opinion, for I am in full agreement with Chuck on this. > > Lying to make, or building a make executable that lives in a fantasy > > world where case-insensitive file systems are somehow sensitive to case, > > is just asking for trouble. And boy, don't you get it! The MSYS build of make-3.79.1 is *broken*; I've discussed some of the issues in the past. You, (Earnie), offered some suggestions on how to work around those issues, (*none* of which worked BTW); my system of Makefiles, which had worked flawlessly on MS-DOS/Win95 with DJGPP, absolutely refused to work un Win2K with MSYS make-3.79.1; the cause of failure was *always* attributable to a mismatch between case in a Makefile rule, and case in the *real* target file name, where `case-insensitive-file-system' would have eliminated the problem, at a stroke. > > It amazes me that we've lived with an insane make.exe for all this time, > > and are so used to it that people are begging to be let back in to the > > funny farm. > > Cygwin began the lie years ago. I can see why things are broken > because of this --case-insensitive-file-system switch so I am not at > all amazed. I can't remember whether I found the same problem with Cygwin's make, or not, and I'm not able to investigate at the moment. I begged you to fix MSYS make, at the time, and you didn't; I solved my problem with a native build, with `case-insensitive-file-system' enabled. > IMO, we need to continue the lie or at least allow for the > lie at runtime with a runtime parameter. I'm not convinced that we need to perpetuate the lie, at all. If there is sufficient demand, we could offer a separate (broken) build, with `case-insensitive-file-system' disabled, (and with a distinctively different executable name). IMO, Chuck's recent make-3.81 build, with `case-insensitive-file-system' *enabled*, should be the default. Regards, Keith. |