|Subject:||PATH vs. Path (was: Re: Savannah W32 patches... are any OK?|
|Date:||Wed, 02 Mar 2005 08:43:21 -0700|
I submitted a patch to the win32 make project a couple of years ago on this one and never got a single response regarding this patch. We've been using the patch in our build environment for a long time now with no ill effects.
If you simply up-case all variable names just before exporting to the environment, and up-case all environment variables as you import them into the variable database (on win32 only of course), then _all_ your problems just disappear. You see, the trouble is that everyone expects these variables to be case insensitive on win32 platforms, anyway.
If you simply state that all variables in the environment come in as upper case, and are exported as upper case, then all problems with tools using these variables in both environments just disappear.
John Calcote (address@hidden)
Sr. Software Engineeer
>>> Alessandro Vesely <address@hidden> 3/2/2005 1:37:16 AM >>>
Eli Zaretskii wrote:
> > Date: Tue, 01 Mar 2005 11:25:21 +0100
> > From: Alessandro Vesely <address@hidden>
> > CC: address@hidden
> > [...]
> > I added the example about the PATH vs. Path environment variable because
> > it may concern the malfunctioning of the $(shell) function in Win9x.
> Problems with PATH indeed affect Make, so we should solve them. But
> the solution could be specific to PATH, not something general for all
> environment variables.
Yes, I agree 100%.
I haven't been able to find out the reason why on
Wed Oct 1 15:45:09 1997 Rob Tulloh <address@hidden>
* main.c [WINDOWS32]: Any arbitrary spelling of Path can be
detected. Make will ensure that the special spelling `Path' is
inserted into the environment when the path variable is propagated
within itself and to make's children.
At that time it was common belief that "the practical effect, and the presumed
reason for Microsoft's inclusion of [lower case in env var names], is that the
two key Windows system variables are write-protected against tampering."
I don't think GNU make needs to prevent the user from setting tha PATH. Being based
on Unix's `trust the programmer' school of thought, GNU make would never do that.
In addition, AFAICR, NT and case-preserving env vars were already there at the time.
My feeling is that make would work more smoothly setting just PATH. However,
I presume that there is a specific problem that has been solved introducing the
different spelling. Hence we should not just remove it.
Make-w32 mailing list
|[Prev in Thread]||Current Thread||[Next in Thread]|