Establish new tier for export-y things

RESOLVED FIXED in mozilla25

Status

defect
RESOLVED FIXED
6 years ago
Last year

People

(Reporter: gps, Assigned: gps)

Tracking

(Blocks 1 bug)

Trunk
mozilla25
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

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
https://hg.mozilla.org/mozilla-central/rev/3192aca82ff3
Status: NEW → RESOLVED
Closed: 6 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.