move common IPDL file handling from recursivemake.py to common.py

RESOLVED FIXED in mozilla37

Status

RESOLVED FIXED
4 years ago
10 months ago

People

(Reporter: froydnj, Assigned: froydnj)

Tracking

unspecified
mozilla37

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

4 years ago
The recursivemake backend knows how to do several things with the IPDL
sources:

1) Determine the C++ sources that will be generated from given IPDL
   sources.
2) Write out all the makefile rules and variables for said sources.

The first part isn't unique to the recursivemake backend; other backends
would eventually like to know what C++ sources come from IPDL source
files for easier cross-referencing purposes, etc.  Let's take a first
cut at moving things into CommonBackend.  (This may not be the best
interface, since it relies on consume_finished being invoked, and not
all backends call CommonBackend.consume_finished.  Still, it's a start.)
(Assignee)

Comment 1

4 years ago
Created attachment 8540155 [details] [diff] [review]
move common IPDL file handling from recursivemake.py to common.py

The recursivemake backend knows how to do several things with the IPDL
sources:

1) Determine the C++ sources that will be generated from given IPDL
   sources.
2) Write out all the makefile rules and variables for said sources.

The first part isn't unique to the recursivemake backend; other backends
would eventually like to know what C++ sources come from IPDL source
files for easier cross-referencing purposes, etc.  Let's take a first
cut at moving things into CommonBackend.  (This may not be the best
interface, since it relies on consume_finished being invoked, and not
all backends call CommonBackend.consume_finished.  Still, it's a start.)
Attachment #8540155 - Flags: review?(gps)
Comment on attachment 8540155 [details] [diff] [review]
move common IPDL file handling from recursivemake.py to common.py

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

Hopefully this doesn't break other build backends not implementing _handle_ipdl_sources. We should probably have automation test coverage that the build backends all continue to work with the current build config. That will not be a fun test to write, but it's possible.
Attachment #8540155 - Flags: review?(gps) → review+
(Assignee)

Comment 3

4 years ago
(In reply to Gregory Szorc [:gps] from comment #2)
> Hopefully this doesn't break other build backends not implementing
> _handle_ipdl_sources. We should probably have automation test coverage that
> the build backends all continue to work with the current build config. That
> will not be a fun test to write, but it's possible.

Tests would be the Source of Truth here, but I feel pretty good about this not breaking anything, since CommonBackend.consume_finished already calls _handle_webidl_collection, which only the recursivemake backend implements.  So I would have expected breakage long before this, if webidl files were a problem...
https://hg.mozilla.org/mozilla-central/rev/fa8a9954fdb5
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37

Updated

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