Closed Bug 906240 Opened 11 years ago Closed 11 years ago

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

Categories

(Firefox Build System :: General, defect)

24 Branch
All
Windows 7
defect
Not set
normal

Tracking

(firefox26 fixed, firefox-esr24 fixed)

RESOLVED FIXED
mozilla26
Tracking Status
firefox26 --- fixed
firefox-esr24 --- fixed

People

(Reporter: glandium, Assigned: glandium)

References

Details

Attachments

(1 file)

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.
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).
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 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+
https://hg.mozilla.org/mozilla-central/rev/57f4731f0a86
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
Depends on: 908052
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: