Closed
Bug 481350
Opened 15 years ago
Closed 15 years ago
Solve the imacros.c.out out of date problem
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla1.9.1b2
People
(Reporter: brendan, Assigned: benjamin)
References
Details
Attachments
(1 file, 1 obsolete file)
1.96 KB,
patch
|
jorendorff
:
review+
ted
:
review+
|
Details | Diff | Splinter Review |
+++ This bug was initially created as a clone of Bug #476181 +++ Splitting since a patch landed for bug 476181. /be
Comment 1•15 years ago
|
||
Well, the easy way to hack this is to force a complete two-phase build if you want the JIT. That can be done with a few lines, I think. Builds would take twice as long though. Or configure could let you specify a known-good js shell executable to use for building imacros.c.out. Or both.
Assignee | ||
Comment 2•15 years ago
|
||
On IRC we discussed: * after building, generate an imacros-gen.c.out (in the objdir) * compare that with the source imacros.c.out. If it doesn't match, the build fails immediately. The file is not automatically copied back to the srcdir, but there is a helpful error message which tells you what to do. This avoids unintentionally contaminating the srcdir, avoids cleaning up the srcdir version of imacros.c.out in srcdir builds. It requires an explicit step by hackers who change imacros, but I don't think this is a big problem.
Assignee: brendan → benjamin
Comment 3•15 years ago
|
||
Changes to jsopcode.tbl will also affect imacros.c.out, but I still don't think it's a big problem.
Assignee | ||
Comment 4•15 years ago
|
||
Attachment #365971 -
Flags: review?(jorendorff)
Assignee | ||
Comment 5•15 years ago
|
||
Forgot a $(wildcard)
Attachment #365971 -
Attachment is obsolete: true
Attachment #365972 -
Flags: review?(jorendorff)
Attachment #365971 -
Flags: review?(jorendorff)
Updated•15 years ago
|
Attachment #365972 -
Attachment is patch: true
Attachment #365972 -
Attachment mime type: application/octet-stream → text/plain
Comment 6•15 years ago
|
||
Comment on attachment 365972 [details] [diff] [review] Fail when imacros.c.out is out of date, rev. 1.1 That looks right to me, and it runs here.
Attachment #365972 -
Flags: review?(jorendorff) → review+
Assignee | ||
Updated•15 years ago
|
Attachment #365972 -
Flags: review?(ted.mielczarek)
Reporter | ||
Comment 7•15 years ago
|
||
Complete two-phase build is bug 469171, FYI. Benjamin, thanks for taking this bug. /be
Reporter | ||
Comment 8•15 years ago
|
||
Comment on attachment 365972 [details] [diff] [review] Fail when imacros.c.out is out of date, rev. 1.1 Nit: would prefer a more imacros.c.out-related name than imacros-generated.c. Tradition with yacc and lex might use some crazy .yy.tmp suffix, but drop the yy and the relation isn't too ugly: imacros.c.tmp => imacros.c.out Suggesting the temporary nature seems winning. /be
Comment 9•15 years ago
|
||
Comment on attachment 365972 [details] [diff] [review] Fail when imacros.c.out is out of date, rev. 1.1 +ifneq (,$(wildcard $(RUN_TEST_PROGRAM))$(if $(NSPR_LIBS),,1)) This is pretty terrible makefile line noise, although I guess your comment does explain it. + $(wildcard $(RUN_TEST_PROGRAM)) $(DIST)/bin/js$(BIN_SUFFIX) imacro_asm.js $(srcdir)/imacros.jsasm > $@ Should probably use at least $< here. If you swap the order of the prereqs you could just use $^, no? Similarly in the other rules below, I'd rather have $< where possible. Also, should fix brendan's naming nit.
Attachment #365972 -
Flags: review?(ted.mielczarek) → review+
Assignee | ||
Comment 10•15 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/dc688b5346a6 and bustage followup http://hg.mozilla.org/mozilla-central/rev/ea23ed5288e6
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•