Closed Bug 1239210 Opened 9 years ago Closed 9 years ago

WebIDL bindings should not be processed when compile environment disabled

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox46 fixed)

RESOLVED FIXED
mozilla46
Tracking Status
firefox46 --- fixed

People

(Reporter: gps, Assigned: gps)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

We currently process .webidl files when the compile environment is disabled. This produces a bunch of .h and .cpp files that I don't believe are needed when we're not compiling anything. I know WebIDL integrates with JS. But I don't see the WebIDL codegen having any output related to JS. So I'm pretty sure codegen doesn't need to run at all. This should make artifact builds a little bit faster.
The output of WebIDL codegen is a bunch of .h and .cpp files. These aren't relevant when not compiling. This change appears to shave ~3-4s off the "export" tier time for --disable-compile-environment builds on my i7-6700K because WebIDL codegen is currently a long pole in that tier. After this patch, artifact clobber builds are ~43.5s. Review commit: https://reviewboard.mozilla.org/r/30633/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/30633/
Attachment #8707291 - Flags: review?(mh+mozilla)
Comment on attachment 8707291 [details] MozReview Request: Bug 1239210 - Don't process WebIDL files when not compiling; r=glandium https://reviewboard.mozilla.org/r/30633/#review27831 ::: dom/bindings/Makefile.in:16 (Diff revision 1) > +ifdef COMPILE_ENVIRONMENT Might as well move this above the include webidlsrcs.mk.
Attachment #8707291 - Flags: review?(mh+mozilla) → review+
Comment on attachment 8707291 [details] MozReview Request: Bug 1239210 - Don't process WebIDL files when not compiling; r=glandium Review request updated; see interdiff: https://reviewboard.mozilla.org/r/30633/diff/1-2/
Attachment #8707291 - Attachment description: MozReview Request: Bug 1239210 - Don't process WebIDL files when not compiling; r?glandium → MozReview Request: Bug 1239210 - Don't process WebIDL files when not compiling; r=glandium
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
Blocks: artifact
gps: Marcos Caceres produced the following awesome write-up https://gist.github.com/marcoscaceres/13af01281730b5279ad6. Can you explain what it would take to get that to /work/ with artifact builds? It seems like it's so close -- modulo WebIDL, of course :)
Flags: needinfo?(gps)
Uh, I /think/ the very existence of a new .webidl file will require some C++ to be generated. So I don't think JS-based WebIDL development can be compatible with artifact builds. At least for new WebIDL interfaces. Perhaps updating existing JS-based WebIDL files would be possible. I don't know enough about WebIDL's internals to know for sure.
Flags: needinfo?(gps)
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: