make-w32
[Top][All Lists]
Advanced

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

Re: make/tests issues


From: J. Grant
Subject: Re: make/tests issues
Date: Wed, 03 Mar 2004 23:17:08 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030824

Hello Paul,

Thanks for the info.

This thread is continued from address@hidden

Could someone tell me which configurations of shell and perl
successfully work with the make/tests perl scripts?
MSYS which I am using presently is not very successful.


There's apparently some difference between what Perl generates when it
does a 'print "\n";' and what C generates when it does a 'printf("\n");'
in terms of line endings.

You'll have to ask on the make-w32 list or else a Perl list that deals
with Windows, or check the web or something; I don't have a Windows
machine much less one with any sort of development environment on it.


Ok, I think running something like:

"tr -d \r <comments.log >normalised_comments.log"

on each output file would mean the diff comparisons would be able to use the normal LF format files included in
the distribution.  Could something like this be added?


You're saying this call is getting executed?  That should only happen on
VMS systems, not on Windows; you can tell because the test around it is
only true when $vos is set; $vos is only set (in theory) when Perl
detects that it's running on VMS.

Sorry, it seems the debugger was pointing to the line subsequent to the
problem instruction. (Or I went past by accident).

run_make_tests.pl:90

"unlink($pure_log);"


That is the line that removes "c:\bin\make.exe".  $pure_log is
"c:\bin\make.exe" on MSYS/perl-5.6.1/win32, and is "make" on GNU/Linux.

What is the "if($code & 0x7000)" checking? what does 0x7000 signify?
(The "unlink" command is in the else of this).


I am unclear exactly what this purification log is.  I do not follow the
comment next to this piece of code:

    # Check to see if we have Purify errors.  If so, keep the logfile.
    # For this to work you need to build with the Purify flag
-exit-status=yes



Could someone enlighten me please? What is this -exit-status=yes and
where does this fit into the build of make?


Bleah, looking at it the whole contents of the get_osname() function in
test_driver.pl seems kind of broken.

There should also be a check to exit if there is no "make" binary.

I added this snippet of code which works on win32 because the search for
"make.exe" works.  On GNU/Linux it is always "make" regardless of if it
exists.  The tests go through their entirety even though there is no
output etc.


# check that the path to the make binary is > 0
$length_make_path = length($make_path);
if($length_make_path <= 0)
{
        print("\nlength_make_path: '$length_make_path'\n") if($debug);
        print("make_path: '$make_path'\n") if($debug);
        &error("Unable to find make binary.  Exiting.\n");
}


Thanks for the help so far.


Regards

JG






reply via email to

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