bug-make
[Top][All Lists]
Advanced

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

Re: GNU make 4.2.90 release candidate available


From: Paul Smith
Subject: Re: GNU make 4.2.90 release candidate available
Date: Wed, 28 Aug 2019 11:25:25 -0400

On Wed, 2019-08-28 at 17:50 +0300, Eli Zaretskii wrote:
> It turns out MinGW does have 'umask', so I added HAVE_UMASK to
> config.h.W32.template under __MINGW32__.  The no-op function is
> probably for MSVC? and maybe VMS?

It seems it exists for Visual Studio:

https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/posix-umask?view=vs-2019

Definitely it's needed for VMS.

> > > I don't remember why we are doing this, the code has been there since
> > > 2005.  Maybe so that the "Entering" and "Leaving" messages looked
> > > better? seeing "make.exe[2]:" there is quite ugly.
> > 
> > True.  Well, no one has complained so I don't see any point in changing
> > it.  Fixing this in the test suite, if we wanted to, is completely
> > trivial we just need to fix the MAKE substitution in one place in the
> > framework.
> 
> Can you tell me how?  That would remove quite a few failures from the
> tests.

Look in tests/run_make_tests.pl at line 439:

   $string = `sh -c "$make_path -f null.mk $redir"`;
   if ($string =~ /(.*): \*\*\* No targets\.  Stop\./) {
     $make_name = $1;
   }
   else {
     $make_path =~ /^(?:.*$pathsep)?(.+)$/;
     $make_name = $1;
   }

I don't know why we use sh -c here instead of just invoking the command
normally via Perl ``... but that certainly fails for you since you have
no sh, so it goes to the else part and tries to grab the filename.

You can either try removing the sh -c and just running make directly
and grabbing the name from the output, or you can fix the else-part to
remove a .exe if it exists.




reply via email to

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