make-w32
[Top][All Lists]
Advanced

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

Re: Cannot run MSVC's link


From: Alessandro Vesely
Subject: Re: Cannot run MSVC's link
Date: Tue, 20 Jul 2004 15:33:54 +0200

As it turns out, version 3.80 has a minor incompatibility with 3.79.1
as it is case sensitive about environment variable names. But then
on the other hand it can run LINK.EXE without problems.
I found a prevous post on this list more than one year ago
http://lists.gnu.org/archive/html/make-w32/2003-05/msg00004.html
(The first time I saw it I thought the issue was the command line
length, not the case of environment variable names. Then I read that
he had "also noticed that hand typing in the make commands that don't
work from make works on Win2000.")
Sorry I'm answering to myself, but the issue is apparently solved in 3.80.
I did search the NEWS for 3.80 and it mentions nothing about environment,
however, after I built it (yes, bug 1687 is still present in 3.80 so one
has to add that line to NMakefile) I saw it does behave as described above.
Thanks for your attention anyway
Ale
Alessandro Vesely writes:
Hi all,
when I try to build a simple program with gmake it always fails. However if I run
   gmake -n > foo.bat
foo.bat then it succeeds. How come that? What is it?
I'm using gmake 1.79.1 downloaded from
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/mak3791b.zip
on a Win2000 box with MSVC 5 installed.
I can run the compiler (CL.EXE) via gmake, but not the linker (LINK.EXE).
I tried to invoke the linker through CL.EXE with the same result.
I tried setting MAKESHELL to point to a vsh.exe to no avail.
I have no spaces or other funny chars in file or directory names,
the command lines are short enough, not using recursion nor parallel builds, ...
The only difference I can see between gmake- and foo.bat- runs is the
case of some environment variable names, e.g. MSDevDir. I already
noticed that I have to write, say, `$(origin MSDEVDIR)', i.e. all
uppercase, to read a variable from the environment. And if I put a
`set' command in the build rules, I get uppercase variable names.
I'd be quite surprised if case sensitivity were the reason.
I checked MS doc for Win32, it does not say something explicit
about the case for environment variable names. See e.g.
http://msdn.microsoft.com/library/en-us/dllproc/base/environment_variables.asp
http://msdn.microsoft.com/library/en-us/dllproc/base/changing_environment_variables.asp
TIA
Ale

_______________________________________________
Make-w32 mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/make-w32





reply via email to

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