[Top][All Lists]
[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: |
Wed, 7 Sep 2005 16:57:56 -0400 |
%% "J. Grant" <address@hidden> writes:
>> perl -e 'my $wd = `pwd`; print "$wd\n";'
>>
>> what does it say?
jg> address@hidden ~
jg> $ perl -e 'my $wd = `pwd`; print "$wd\n";'
jg> /home/now3d
OK, right. When Perl determines the directory name it is a UNIX-y name,
like that. When make determines the directory name it is a windows
name.
Here's the "base" file from a sample test; this is the file the
regression test (Perl) generates:
! make: Entering directory `/home/now3d/make/tests'
and here is the actual log of the invocation of GNU make:
! make: Entering directory `C:/msys/1.0/home/now3d/make/tests'
GNU make runs the getcwd() function to get the current directory. We
need to find a way in Perl to have it return the same value GNU make
gets.
>> That's exactly what I'm saying: according to the perl docs that's
>> what the code in the test suite is supposed to be doing. Please run
>> this and let me know what it says:
>>
>> perl -e 'if (eval { symlink("",""); 1 }) { print "symlinks ok\n"; }'
jg> address@hidden ~
jg> $ perl -e 'if (eval { symlink("",""); 1 }) { print "symlinks ok\n"; }'
jg> symlinks ok
Ugh!
jg> I guess this means that ln -s is actually does a copy. ln --version
jg> shows ln (fileutils) 4.1
No; this is using the system call symlink(). It's not invoking a
program like "ln -s". Windows Perl shouldn't support that, since it
doesn't work.
Maybe Perl is noticing that the arguments are empty and so isn't failing
like it should. Try this:
perl -e 'if (eval { symlink("foo","bar"); 1 }) { print "symlinks ok\n"; }'
and see what it says then. If it says "symlinks ok", look in the
directory to see if any files (or whatever!) named "foo" or "bar" have
been created.
jg> I have ran through all the tests and zipped up the results:
Was this with the very latest CVS code, downloaded recently (within the
last few days)?
Because, I tried to fix the cwd problem by adding code to use the
POSIX::getwd() function in Perl.
If it IS the latest CVS code, please try this and see that it says:
perl -e 'require "POSIX.pm"; my $cwd = POSIX::getcwd(); print "cwd = $cwd\n"'
--
-------------------------------------------------------------------------------
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