cl.py doesn't put the source file in .deps/, and doesn't canonicalize paths

RESOLVED FIXED in Firefox 26

Status

()

Core
Build Config
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: glandium, Assigned: glandium)

Tracking

24 Branch
mozilla26
All
Windows 7
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox26 fixed, firefox-esr24 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

4 years ago
gcc -M does output the source file as a dependency, which cl.py doesn't. Bug 905973 relies on the source to be there.

While looking at the above, I also noticed that cl.py is not canonicalizing paths, and outputs different forms of the same paths in different .pp files in the same directory. Like forward vs. backward slash, and normal case vs. lower case (as in c:/Users vs. c:/users)

This likely conflates the number of dependencies checked by pymake.
(Assignee)

Comment 1

4 years ago
Another one: cl.py is exercising the worst in pymake because of how it lays out dependencies.

It uses a:
target: header1
target: header2
target: header3
header1:
header2:
header3:

scheme that makes pymake extra slow (the problem being one target rule per header)
Changing that to:
target: \
header1 \
header2 \
header3
header1:
header2:
header3:

made a no-op "make -C objdir/gfx/layers Compository.obj" 20% faster for me (from 3.5s to 2.7s).
(Assignee)

Comment 2

4 years ago
Created attachment 791602 [details] [diff] [review]
Adapt cl.py dependency output to pymake deficiencies ; also add source file to the list of dependencies

This makes pymake -C objdir/gfx/layers Compositor.obj go down from 3.5s to 2.5s in my vm (path normalization added to the speed-up from comment 1).
Attachment #791602 - Flags: review?(gps)
More reason to write a Python module to write out dependencies, eh?

Comment 4

4 years ago
Comment on attachment 791602 [details] [diff] [review]
Adapt cl.py dependency output to pymake deficiencies ; also add source file to the list of dependencies

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

It would be really nice if we had a module/shared function for writing make dependency files...
Attachment #791602 - Flags: review?(gps) → review+
(Assignee)

Comment 5

4 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/57f4731f0a86

Comment 6

4 years ago
https://hg.mozilla.org/mozilla-central/rev/57f4731f0a86
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
(Assignee)

Updated

4 years ago
Depends on: 908052
https://hg.mozilla.org/releases/mozilla-esr24/rev/bfb57753afb7
status-firefox26: --- → fixed
status-firefox-esr24: --- → fixed
You need to log in before you can comment on or make changes to this bug.