Bug 102248

Summary: [CMake] Do not regenerate LLIntAssembly.h on every incremental build
Product: WebKit Reporter: Thiago Marcos P. Santos <tmpsantos>
Component: Tools / TestsAssignee: Thiago Marcos P. Santos <tmpsantos>
Status: RESOLVED FIXED    
Severity: Normal CC: gyuyoung.kim, laszlo.gombos, rakuco, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Thiago Marcos P. Santos
Reported 2012-11-14 10:04:36 PST
SSIA.
Attachments
Patch (2.35 KB, patch)
2012-11-14 10:28 PST, Thiago Marcos P. Santos
no flags
Thiago Marcos P. Santos
Comment 1 2012-11-14 10:28:35 PST
Raphael Kubo da Costa (:rakuco)
Comment 2 2012-11-14 15:02:47 PST
FWIW, we've worked together on this one so LGTM.
Laszlo Gombos
Comment 3 2012-11-14 18:51:54 PST
Just an idea - would it be possible to remove LLIntOffsetsExtractor as a dependency for this generator ? - It seems that the Qt port is using that approach. -DEPENDS LLIntOffsetsExtractor ${LLINT_ASM} ${OFFLINE_ASM} +DEPENDS ${LLINT_ASM} ${OFFLINE_ASM}
Thiago Marcos P. Santos
Comment 4 2012-11-15 01:53:29 PST
(In reply to comment #3) > Just an idea - would it be possible to remove LLIntOffsetsExtractor as a dependency for this generator ? - It seems that the Qt port is using that approach. > > -DEPENDS LLIntOffsetsExtractor ${LLINT_ASM} ${OFFLINE_ASM} > +DEPENDS ${LLINT_ASM} ${OFFLINE_ASM} This is wrong. LLIntOffsetsExtractor is a real dependency. The problem here is that sometimes the dependencies of LLIntOffsetsExtractor changes and it is rebuilt, but the exact same binary as before is generated (like when you add some code #ifdef'ed for a platform other than yours). This is fine and happens all the time with regular source code. asm.rb, which in this case acts like a compiler, does some checksum magic and LLIntAssembly.h is not regenerated if LLIntOffsetsExtractor checksum matches the older version. asm.rb breaks the build system, because in this case a dependency (LLIntOffsetsExtractor) will be always newer than the dependent (LLIntAssembly.h). I'm fixing this by touching the LLIntAssembly.h.
WebKit Review Bot
Comment 5 2012-11-15 10:19:15 PST
Comment on attachment 174196 [details] Patch Clearing flags on attachment: 174196 Committed r134793: <http://trac.webkit.org/changeset/134793>
WebKit Review Bot
Comment 6 2012-11-15 10:19:20 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.