Closed Bug 899792 Opened 11 years ago Closed 11 years ago

Establish new tier for export-y things

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla25

People

(Reporter: gps, Assigned: gps)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

As part of removing the recursive traversal of the export tier, I plan to establish a new tier that does things nonrecursively. Patch will be uploaded momentarily.
A new build tier is introduced: precompile. The intention is to replace the export subtier with something better and nonrecursive. IPDL and WebIDL code generation have been moved into this new tier and are performed concurrently. This appears to reduce build times due to fewer "single threaded" build actions. The subtier tracking UI has been updated to reflect operations that can occur in parallel. As subtiers are started, they turn yellow. They can then complete in any order. Nonrecursive targets have been added to preserve the IPDL and WebIDL build targets such that developers can type |make| from leaf directories like they have always done.
Attachment #783372 - Flags: review?(mh+mozilla)
Assignee: nobody → gps
Moved precompile tier after nspr building because of future issue with XPIDL dependencies.
Attachment #783383 - Flags: review?(mh+mozilla)
Attachment #783372 - Attachment is obsolete: true
Attachment #783372 - Flags: review?(mh+mozilla)
Comment on attachment 783383 [details] [diff] [review] Establish precompile tier and move IPDL and WebIDL build rules Review of attachment 783383 [details] [diff] [review]: ----------------------------------------------------------------- ::: config/makefiles/nonrecursive.mk @@ +48,5 @@ > ifndef INCLUDED_NONRECURSIVE_MK > > define define_nonrecursive_target > $(1):: > + $$(MAKE) -C $(or $(4),$$(DEPTH)) $(if $(3),-f $(3),) $(2) $(addprefix -f ,$(3)) does the same as $(if $(3),-f $(3),) and is usually preferred in our makefiles.
Attachment #783383 - Flags: review?(mh+mozilla) → review+
I have no clue how this broke the tree! I verified breakage with try: https://tbpl.mozilla.org/?tree=Try&rev=6aa8679bb87d However, I can't reproduce locally, even if I blow away ccache. Nothing in this patch should have changed anything later in the build. Most weird.
Theory: This is a file case sensitivity issue.
A ha - things work during the first i386 pass but fail during the 2nd x86_64 run. This is likely a tier traversal bug or something funky like that.
I added a .PHONY target for the renamed export rules for ipdl and webidl and this fixed things according to a try push. IMO it didn't warrant additional review since it's a trivial make'ism, so I landed. https://hg.mozilla.org/integration/mozilla-inbound/rev/3192aca82ff3
Blocks: 900330
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
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: