bugmake - Bugs: bug #48483, Compiler diagnostics cache

 
 

bug #48483: Compiler diagnostics cache

Submitted by:  None
Submitted on:  Tue 12 Jul 2016 01:58:50 PM UTC  
 
Severity: 3 - NormalItem Group: Enhancement
Status: NonePrivacy: Public
Assigned to: NoneOpen/Closed: Open
Component Version: NoneOperating System: Any
Fixed Release: NoneTriage Status: None

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Tue 18 Jul 2017 07:20:10 AM UTC, comment #1:

Please correct me if I'm wrong, but it sounds to me that "ccache" is exactly what you need - you can already get what you want without any changes to "make":

With ccache, you can always do "make clean; make" because although the compiler will be called on all files of the project, the files that haven't changed (and the compilation options haven't changed) will NOT be compiled again - rather the exact same compilation results and/or compiler warning messages will be recalled from the cache.

On many Linux distributions, merely installing the "ccache" package enables it (it makes the compiler a symbolic link to the ccache exectable), and you can enjoy speedy "make clean; make" afterwards.

Nadav Har'El <nyh>
Tue 12 Jul 2016 01:58:50 PM UTC, original submission:

I'm doing automated builds from a continuous integration system that maintains a database of compiler warnings output during the build.

Currently, I clean the build tree before each build and rebuild the entire project. I would now like to switch to incremental builds, as the dependency tracking inside the project generally works and this would save a considerable amount of time.

This would however break the collection of warning messages because the compiler would not be re-invoked when an object is up-to-date. Because a change could also remove an object from the build, I cannot simply assume that diagnostics for removed invocations to be unchanged (also, it would be difficult to match the output and the command in a parallel build).

Therefore, it would be nice if there was a flag that would tell make to collect stdout and stderr from a compiler invocation, and replay them when a target is found to be up-to-date. If a target is up-to-date but no cache entry exists a warning should be output.

In addition, this could be used for performance data as well so it becomes possible to track compilation time for the full project even across incremental builds.

Anonymous

 

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

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by nyh (Posted a comment)
  • -unavailable- added by geier
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follows 1 latest change.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 13 Jul 2016 03:15:37 AM UTCgeierCarbon-Copy-=>Added -unavailable-

    Back to the top


    Powered by Savane 3.1-cleanup1