Closed Bug 1043344 Opened 6 years ago Closed 6 years ago

Move libraries and programs build to the compile tier

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla34

People

(Reporter: glandium, Assigned: glandium)

References

Details

Attachments

(1 file, 3 obsolete files)

With all the knowledge from bug 1036894, and a few temporary hacks, it is possible to get a full compilation/linkage build in the compile tier.
This has the nice side effect of having some things build while libxul links. This however has the caveat of making js standalone clobber builds slightly slower because building js/src now waits for icu, but with bug 1036894 (and this one, actually), it's possible to work around this in many different ways, but I'd rather not wait on figuring what to choose. There are also further improvements I'd like to make that would allow building even more things while libxul links that would make js/src wait less for intl/icu.

https://tbpl.mozilla.org/?tree=Try&rev=aa249f1b56a1
Attachment #8461498 - Flags: review?(gps)
Comment on attachment 8461498 [details] [diff] [review]
Move libraries and programs build to the compile tier

Review of attachment 8461498 [details] [diff] [review]:
-----------------------------------------------------------------

::: config/makefiles/target_binaries.mk
@@ +22,5 @@
>  
>  ifneq (,$(strip $(PROGRAM)$(SIMPLE_PROGRAMS)))
>  PROGRAMS_EXECUTABLES = $(SIMPLE_PROGRAMS) $(PROGRAM)
>  PROGRAMS_DEST ?= $(FINAL_TARGET)
> +PROGRAMS_TARGET := binaries libs target

Note I'm not removing the existing targets as a safety net.

::: config/recurse.mk
@@ +193,5 @@
>  	$$(LOOP_OVER_DIRS)
>  
>  endef
>  
> +$(foreach subtier,export binaries libs tools,$(eval $(call CREATE_SUBTIER_TRAVERSAL_RULE,$(subtier))))

This removes recursion for make -C foo compile, which is not a good thing to do now, and wouldn't be much better after this patch.
Attachment #8461498 - Attachment is obsolete: true
Attachment #8461498 - Flags: review?(gps)
I *will* get this right. (android reds were a problem with bug 1043351 in the queue, and windows red is a race condition because of the removal of the config/export dependency that I'm now readding)
https://tbpl.mozilla.org/?tree=Try&rev=640cbf58ff6c
Attachment #8461555 - Flags: review?(gps)
Attachment #8461536 - Attachment is obsolete: true
Attachment #8461536 - Flags: review?(gps)
Aaand with the toplevel Makefile.in change corresponding to last rules.mk change.
Attachment #8461564 - Flags: review?(gps)
Attachment #8461555 - Attachment is obsolete: true
Attachment #8461555 - Flags: review?(gps)
Comment on attachment 8461564 [details] [diff] [review]
Move libraries and programs build to the compile tier

Review of attachment 8461564 [details] [diff] [review]:
-----------------------------------------------------------------

I am anxiously awaiting what you decide to do with all the remaining gunk in the now-emptier-and-painfully-slower-than-ever libs tier. I'm sure it will be awesome.

::: python/mozbuild/mozbuild/backend/recursivemake.py
@@ +716,5 @@
>                  self._create_makefile(obj, stub=stub)
> +                with open(obj.output_path) as fh:
> +                    content = fh.read()
> +                    for trigger, targets in self._triggers.items():
> +                        if trigger.encode('ascii') in content:

The hacks, they burn!

I can only assume from other comments in this patch that follow-ups are already in your head.
Attachment #8461564 - Flags: review?(gps) → review+
Duplicate of this bug: 951109
Blocks: 1043799
Blocks: 1043802
Blocks: 1043862
Depends on: 1043954
https://hg.mozilla.org/mozilla-central/rev/0300f04572b6
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
Blocks: 1044460
Blocks: 1045329
Blocks: 1045969
No longer blocks: 1045969
Depends on: 1045969
Depends on: 1108858
Product: Core → Firefox Build System
Duplicate of this bug: 921313
You need to log in before you can comment on or make changes to this bug.