make-w32
[Top][All Lists]
Advanced

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

Re: MSVC build test results


From: Paul D. Smith
Subject: Re: MSVC build test results
Date: Mon, 29 Aug 2005 14:34:56 -0400

I'll let JG respond where appropriate, but:


%% Regarding Re: MSVC build test results; you wrote:

  >> These are all caused by a difference of opinion on the current working
  >> directory by pwd vs. GNU make.  Make, with WINDOWS32 set, uses
  >> getcwd_fs() to determine the working directory and returns values like
  >> "/home/now3d/make/tests".
  >> 
  >> There is no portable "getwd" function in Perl, so our test suite uses
  >> `pwd` to figure the working directory.  That appears to return values
  >> like "C:/msys/1.0/home/now3d/make/tests".

  ez> How about if you chdir into the directory and see what getwd returns?

But we can't; as I said, there's no getwd() or getcwd() function in
Perl.  I said "portable" because there is a POSIX::getcwd() at least on
UNIX systems.  I have no idea whether that exists (or what it does) in
Windows Perl.

  jg> functions/eval .................... FAILED (8/9 passed)

  >> Hrm.  This fails because in a POSIX shell this command:
  >> 
  >> echo hel\lo
  >> 
  >> print "hello" while on Windows, apparently, it prints "hel\lo"
  >> (backslashes not handled the same way).

  ez> What is the purpose of this test?  If it tests shell escaping, then
  ez> it doesn't make sense to test that on Windows, and the test should be
  ez> disabled unless $SHELL points to something like sh.exe (modulo leading
  ez> directories).

No, it's trying to test that backslash handling works properly in
strings that are eval'd... maybe we could quote it so the backslash
actually was preserved instead of removed by the shell.  That might be a
better test anyway since the current test can't determine between
make incorrectly removing the backslash and the shell correctly removing
it.

  jg> options/dash-l .................... FAILED (0/1 passed)

  >> Hm.  This one is because -l isn't supported on Windows, I'm sure.

  ez> Yes.

But, my question still remains: why doesn't it print the error.  It
would be nice if someone invoked "make -l 1.0" or something on a Windows
system and told me what it printed.

  ez> There's a lot of tricky handling of SHELL going on on non-Posix
  ez> platforms.

Yah :-/.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




reply via email to

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