ipdl and webidl unified sources dependencies are wrong

RESOLVED FIXED in mozilla28

Status

RESOLVED FIXED
5 years ago
8 months ago

People

(Reporter: glandium, Assigned: glandium)

Tracking

Trunk
mozilla28
x86_64
Linux
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [qa-])

Attachments

(1 attachment)

(Assignee)

Description

5 years ago
The unified sources depend on the sources they include, which is wrong. The object they create do have such a dependency, but not the unified sources themselves.

On the other hand, they don't have a dependency on moz.build, which is about the only thing that could have an impact on their content.
(Assignee)

Comment 1

5 years ago
Created attachment 820845 [details] [diff] [review]
Remove unified source dependencies completely, they're useless

The backend.RecursiveMakeBackend.built business ensures config.status reruns
when moz.build changes, which is the only thing that would affect unified
sources. Rerunning config.status updates unified sources if they need to
be updated. Once updated, normal object dependencies will ensure they are
rebuilt. Those same dependencies will ensure they are rebuilt when one of
the C/C++ sources they include change. IOW, unified sources don't need any
explicit dependencies generated by the backend.
Attachment #820845 - Flags: review?(gps)
(In reply to Mike Hommey [:glandium] from comment #1)
> The backend.RecursiveMakeBackend.built business ensures config.status reruns
> when moz.build changes, which is the only thing that would affect unified
> sources. Rerunning config.status updates unified sources if they need to
> be updated. Once updated, normal object dependencies will ensure they are
> rebuilt. Those same dependencies will ensure they are rebuilt when one of
> the C/C++ sources they include change. IOW, unified sources don't need any
> explicit dependencies generated by the backend.

What if the unified sources get removed?  dom/bindings/Makefile.in puts them in $GARBAGE, for instance.
(Assignee)

Comment 3

5 years ago
(In reply to Nathan Froyd (:froydnj) from comment #2)
> What if the unified sources get removed?  dom/bindings/Makefile.in puts them
> in $GARBAGE, for instance.

mmmm they should be removed by the backend imho. It's not a terrible problem, though, because that would mean a moz.build change, which would mean a *.mk change with a list with less unified sources.
(I mean, there are *many* things we don't garbage out, and that's a separate issue)

Comment 4

5 years ago
Comment on attachment 820845 [details] [diff] [review]
Remove unified source dependencies completely, they're useless

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

That logic makes sense to me. I think.
Attachment #820845 - Flags: review?(gps) → review+
(Assignee)

Comment 6

5 years ago
Guess what, the GARBAGE thing Nathan was talking about made this patch break PGO builds.
Backed out for now.
https://hg.mozilla.org/integration/mozilla-inbound/rev/9d1266f5c051
(Assignee)

Updated

5 years ago
Depends on: 930896
https://hg.mozilla.org/mozilla-central/rev/fcd779a72dd3
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28

Updated

5 years ago
Whiteboard: [qa-]

Updated

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