Closed Bug 770426 Opened 13 years ago Closed 12 years ago

make::rules.mk - replace double colon rules with dependency chains for Preprocessing rules

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla17

People

(Reporter: glandium, Assigned: glandium)

References

(Blocks 1 open bug)

Details

Attachments

(2 files, 2 obsolete files)

No description provided.
This only covers the cases where we preprocess $file to some other location. The cases where we preprocess $srcdir/$file.in to $file are not covered.
Attachment #638619 - Flags: review?(khuey)
Drive-by review: while you are here, do you want to move functionality into its own .mk file?
(In reply to Gregory Szorc [:gps] from comment #2) > Drive-by review: while you are here, do you want to move functionality into > its own .mk file? I'd rather leave that to someone who'd have the time to do that and write tests.
Depends on: 776503
Attached patch FixupSplinter Review
When landing, we got failures on clobber builds: Traceback (most recent call last): File "e:/builds/moz2_slave/m-in-w32-pgo/build/config/buildlist.py", line 40, in <module> addEntriesToListFile(sys.argv[1], sys.argv[2:]) File "e:/builds/moz2_slave/m-in-w32-pgo/build/config/buildlist.py", line 19, in addEntriesToListFile lock = lockFile(listFile + ".lck") File "e:\builds\moz2_slave\m-in-w32-pgo\build\config\utils.py", line 44, in lockFile fd = os.open(lockfile, os.O_EXCL | os.O_RDWR | os.O_CREAT) OSError: [Errno 2] No such file or directory: '../dist/bin/webapprt/chrome.manifest.lck' The reason is subtle: the patch from this bug effectively reorders some rules, unhiding a latent bug in the chome.manifest rules, which the definitions in webapprt/Makefile.in made it work by chance: before, the rule to copy the pref file were appearing before the chrome.manifest rule, so $(FINAL_TARGET) was already created. With the patch from this bug, the rule to copy the pref file is appearing after the chrome.manifest rule, so $(FINAL_TARGET) is not created before running the chrome.manifest rule. This adds proper dependencies.
Attachment #644913 - Flags: review?(khuey)
Blocks: 773202
This fixes the issue we had on Windows when landing (it turns out the "target" variable was set in the environment, thus overriding whatever was in rules.mk), and makes the rule more similar to those of bug 773202 (btw, if you want to review that one too... ;) ).
Attachment #646106 - Flags: review?(khuey)
Attachment #638619 - Attachment is obsolete: true
Comment on attachment 646106 [details] [diff] [review] Replace double colon rules with dependency chains for preprocessing rules. Still breaks win debug, apparently :(
Attachment #646106 - Flags: review?(khuey)
Attachment #646106 - Attachment is obsolete: true
Comment on attachment 647216 [details] [diff] [review] Replace double colon rules with dependency chains for preprocessing rules. Review of attachment 647216 [details] [diff] [review]: ----------------------------------------------------------------- mmm eval
Attachment #647216 - Flags: review?(khuey) → review+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Depends on: 927088
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: