make-w32
[Top][All Lists]
Advanced

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

Re: Why gmake create two path environment variables


From: Soren Andersen
Subject: Re: Why gmake create two path environment variables
Date: Mon, 20 Oct 2008 17:48:26 -0400

[[ Reply composed at 20 Oct 2008 T16:04 (US EDT); one sending
from wrong e-mail account - sorry if duplication occurs! - this
is the account under which I am subscribed to this List ... ]]

I'm responding to the message sent on 20 Oct 2008, at around 08:54
UTC, by "Eli Zaretskii" <eliz ~at~ OBSCURED dot NUL>, who wrote

> And second, this feature is not for the shell specifically
> (although if your shell is a port of a Unixy shell, it will want
> PATH), it is for _any_ program that wants PATH.  Let me remind
> you that Make will invoke programs directly, not through the
> shell, whenever it can (i.e. when the rule's command does not use
> any characters special to the shell, like redirection and pipes).
Actually, this is incorrect. There is no such thing as "invoke[ing]
programs directly" on MS Windows operating systems. All invocations
go through the CMD processor.  This is different from unix-like
OSes in which there is a way to have the OS "directly" (without sh
shell interpretation) execute a commandline.  No such "way" exists
on MS Windows.

[ Freeman Liu wrote ]:
|> Actually, when I use some perl script inside Makefiles, they
|> can only change one the path variables by setting $ENV{'Path'}
|> or $ENV{'PATH'}, which make Path and PATH different and this
|> will prevent locating the correct executable.
First of all I'll note that your %PATH% is totally out of control,
Freeman, and you need to do something about that outside of make.

[ and elsewhere, in later message
"address@hidden" ]:
> This is a question about how to set path environment variable in
> windows from with in a gmake makefile. I use active perl but I
> dont think this matters.
IMHO Activeperl and GNU-make for Win32 are both distinctly wrong to
handle ENV %vars% in this (case-sensitive) manner. If all MS Windows
Perl ports (i.e., StrawberryPerl, etc) do so, then it's an area that
has been IMHO overlooked in error by Perl porters.  However, that
matter is definitely not pertinent to gnu make.  Nonetheless if I
may beg for some leeway, in a follow-up message I'll demonstrate
some defensive coding that would address this problem.

  Best Regards,
     Soren "somian" Andersen
P.S. An e-mail message was sent privately to the address shown for
Freeman Liu, asking him to NOT send to this or any other technical
mailinglist, messages that contain that obscenely obese corporate
boilerplate.  Hope that this action was in harmony with the feelings
of most other users.  It certainly has been the case on all other
tech M-Ls that I've subscribed to.

-- 
"All unaccompanied children will be given espresso and a free
kitten."




reply via email to

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