Establish new tier for export-y things

RESOLVED FIXED in mozilla25

Status

defect
RESOLVED FIXED
6 years ago
a year ago

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)

Assignee

Description

6 years ago
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.
Assignee

Comment 1

6 years ago
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

Updated

6 years ago
Assignee: nobody → gps
Assignee

Comment 2

6 years ago
Moved precompile tier after nspr building because of future issue with
XPIDL dependencies.
Attachment #783383 - Flags: review?(mh+mozilla)
Assignee

Updated

6 years ago
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+
Assignee

Comment 6

6 years ago
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.
Assignee

Comment 7

6 years ago
Theory: This is a file case sensitivity issue.
Assignee

Comment 8

6 years ago
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.
Assignee

Comment 9

6 years ago
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
Assignee

Updated

6 years ago
Blocks: 900330
https://hg.mozilla.org/mozilla-central/rev/3192aca82ff3
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25

Updated

a year ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.