bugmake - Bugs: bug #45515, [PATCH] Check ERRORLEVEL in...

 
 

bug #45515: [PATCH] Check ERRORLEVEL in subproc.bat and ignore Windows build artifacts.

Submitter:  James Johnston <johnstonj>
Submitted:  Fri 10 Jul 2015 05:38:11 AM UTC
   
 
Severity:  2 - Minor Item Group:  Build/Install
Status:  Fixed Privacy:  Public
Assigned to:  None Open/Closed:  Closed
Component Version:  4.2 Operating System:  MS Windows
Fixed Release:  4.2 Triage Status:  Small Effort
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 10 Jul 2015 01:48:20 PM UTC, comment #2: 

w32/subproc outputs a "subproc.lib" library file which is then linked into make itself.

A .sbr file is outputted for every object file due to the use of the /FR switch:

https://msdn.microsoft.com/en-us/library/d5a52hhk.aspx

More on browse information: https://msdn.microsoft.com/en-us/library/f403he0y.aspx

Actually I am not sure why /FR switch is being included any more.  If you aren't using browse information in the IDE, you don't need it.  Furthermore, new versions of VC++ (i.e. everything released in this century) don't even need it to begin with - only the old 1990s-era versions require it.  That's assuming you even have a 1990s era project file, which we don't.  (Note that the GNU make provided VC++ 2003 project does NOT enable browse information...)

git blame shows that /FR originated from when NMakefile.template was first created in 1996.  In fact, all the compiler switches haven't changed for 19 years for that line.

Which probably explains why GNU Make won't build cleanly with VC++ any more: it complains/warns about various deprecated switches on every object file...  I am not sure which versions of VC++ GNU make still has to support (do we still have to support Visual C++ 4.0 from 1995?) but it would be nice if the deprecated warnings due to these legacy arguments could be cleaned up.

James Johnston <johnstonj>
Fri 10 Jul 2015 07:02:14 AM UTC, comment #1: 

Thanks, I pushed both parts.  In the future, it is best not to lump together unrelated patches, but instead file separate Savannah bug reports for each one.

Out of curiosity, which parts of the Make build process produce .lib and .sbr files?  (I don't use MSVC.)

Thanks.

Eli Zaretskii <eliz>
Group Member
Fri 10 Jul 2015 05:38:11 AM UTC, original submission:  

I've fixed a couple minor annoyances when building GNU Make from source directly out of the Git repository.  Patch is attached.  Commit message is below:

Check ERRORLEVEL in subproc.bat and ignore Windows build artifacts.

  • subproc.bat: Check for failed make tool and exit with appropriate

  exit code.

  • .gitignore: Ignore build artifacts on Windows.
James Johnston <johnstonj>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #34407:  0001-Check-ERRORLEVEL-in-subproc.bat-and-ignore-Windows-b.patch added by johnstonj (954B - application/octet-stream - Patch generated by git format-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by eliz (Posted a comment)
  • -email is unavailable- added by johnstonj (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-07-10 eliz Severity3 - Normal 2 - Minor
        StatusNone Fixed
        Open/ClosedOpen Closed
        Fixed ReleaseNone 4.2
        Triage StatusNone Small Effort
    2015-07-10 johnstonj Attached File- Added 0001-Check-ERRORLEVEL-in-subproc.bat-and-ignore-Windows-b.patch, #34407

    Back to the top

    Powered by Savane 3.13-3230.
    Corresponding source code