Open Bug 778508 Opened 14 years ago Updated 3 years ago

mfbt symlinks installed by both base and js

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

People

(Reporter: gps, Unassigned)

Details

It appears that both the base and js tiers install mfbt header files into dist/include/mozilla/. STR: 1) |make tier_base| 2) Stash objdir somewhere (I do a |git init; git add *|) 3) |make tier_nspr| 4) |make tier_js| 5) Diff objdir/dist/include/mozilla You'll notice the following symlinks change: dist/include/mozilla/Assertions.h dist/include/mozilla/Attributes.h dist/include/mozilla/BloomFilter.h dist/include/mozilla/CheckedInt.h dist/include/mozilla/FloatingPoint.h dist/include/mozilla/GuardObjects.h dist/include/mozilla/HashFunctions.h dist/include/mozilla/Likely.h dist/include/mozilla/LinkedList.h dist/include/mozilla/MSStdInt.h dist/include/mozilla/RangedPtr.h dist/include/mozilla/RefPtr.h dist/include/mozilla/Scoped.h dist/include/mozilla/StandardInteger.h dist/include/mozilla/ThreadLocal.h dist/include/mozilla/TypeTraits.h dist/include/mozilla/Types.h dist/include/mozilla/Util.h Before, (with the base tier) the symlinks look like: /Users/gps/src/mozilla-central-git/mfbt/Assertions.h Afterward, (with the js tier) they look like: /Users/gps/src/mozilla-central-git/js/src/../../mfbt/Assertions.h These do resolve to the same file. But, the symlink is being replaced. As far as invalidating the make target and causing extra work for make, I don't think it is an issue. stat() by default will report on the target of a symlink. If make used lstat() to look up mtimes, we might be in trouble. I audited GNU make's source code and only found one reference to lstat(). And, it is only called when -L/--check-symlink-times is present on the command line. So, I think this bug is just a nuisance, nothing more. I can understand if someone closes it WONTFIX.
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.