Closed Bug 714365 Opened 13 years ago Closed 13 years ago

DictionaryHelpers.cpp gets rebuilt on every build

Categories

(Core :: XPConnect, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla12

People

(Reporter: ehsan.akhgari, Assigned: froydnj)

Details

(Whiteboard: [inbound])

Attachments

(1 file)

Even if none of its dependencies have changed. This causes libxul to be built on every single build, which is really annoying.
INFO:pymake.data: Considering target 'DictionaryHelpers.cpp' INFO:pymake.data: Considering target 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.conf' INFO:pymake.data: Searching for implicit rule to make 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.conf' INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1180:0 doesn't match: prerequisite 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.conf.c' not mentioned and doesn't exist. INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1212:0 doesn't match: prerequisite 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.conf.cpp' not mentioned and doesn't exist. INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1279:0 doesn't match: prerequisite 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.conf.pl' not mentioned and doesn't exist. INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1284:0 doesn't match: prerequisite 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.conf.sh' not mentioned and doesn't exist. INFO:pymake.data: Couldn't find implicit rule to remake 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.conf' INFO:pymake.data: Considering target 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.py' INFO:pymake.data: Searching for implicit rule to make 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.py' INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1180:0 doesn't match: prerequisite 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.py.c' not mentioned and doesn't exist. INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1212:0 doesn't match: prerequisite 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.py.cpp' not mentioned and doesn't exist. INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1279:0 doesn't match: prerequisite 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.py.pl' not mentioned and doesn't exist. INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1284:0 doesn't match: prerequisite 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.py.sh' not mentioned and doesn't exist. INFO:pymake.data: Couldn't find implicit rule to remake 'c:/dev/mozilla-central/js/xpconnect/src/dictionary_helper_gen.py' INFO:pymake.data: Considering target 'FORCE' INFO:pymake.data: Searching for implicit rule to make 'FORCE' INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1180:0 doesn't match: prerequisite 'FORCE.c' not mentioned and doesn't exist. INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1212:0 doesn't match: prerequisite 'FORCE.cpp' not mentioned and doesn't exist. INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1279:0 doesn't match: prerequisite 'FORCE.pl' not mentioned and doesn't exist. INFO:pymake.data: Terminal rule at c:\dev\mozilla-central\config\rules.mk:1284:0 doesn't match: prerequisite 'FORCE.sh' not mentioned and doesn't exist. INFO:pymake.data: Couldn't find implicit rule to remake 'FORCE' INFO:pymake.data:Remaking DictionaryHelpers.cpp using rule at c:\dev\mozilla-central\obj-i686-pc-mingw32\js\xpconnect\src\Makefile:212:0 because FORCE is newer. That's ... interesting.
The issue appears to be that when writing .deps/dictionary_helper_gen.pp the dictionary_helper_gen.py script appears to be doing the output as: DictionaryHelpers.cpp: \ nsIDOMEvent.idl \ nsIDOMCustomEvent.idl \ nsIDOMPopStateEvent.idl \ nsIDOMHashChangeEvent.idl \ nsIDOMPageTransitionEvent.idl \ nsIDOMCloseEvent.idl \ nsIDOMUIEvent.idl \ nsIDOMMouseEvent.idl \ nsIIDBDatabase.idl \ nsIIDBObjectStore.idl rather than: DictionaryHelpers.cpp: \ ../../../dist/idl/nsIDOMEvent.idl \ ../../../dist/idl/nsIDOMCustomEvent.idl \ ../../../dist/idl/nsIDOMPopStateEvent.idl \ ../../../dist/idl/nsIDOMHashChangeEvent.idl \ ../../../dist/idl/nsIDOMPageTransitionEvent.idl \ ../../../dist/idl/nsIDOMCloseEvent.idl \ ../../../dist/idl/nsIDOMUIEvent.idl \ ../../../dist/idl/nsIDOMMouseEvent.idl \ ../../../dist/idl/nsIIDBDatabase.idl \ ../../../dist/idl/nsIIDBObjectStore.idl which is what dombindingsgen.py does. It could be the difference between the two findIDL functions, but I'm not quite sure: http://hg.mozilla.org/mozilla-central/file/758005504cab/js/xpconnect/src/dictionary_helper_gen.py#l73 http://hg.mozilla.org/mozilla-central/file/758005504cab/js/xpconnect/src/codegen.py#l86 Maybe someone can take this on and save the builders some time?
From the outputs in the comments this doesn't look like Mac OS X only.
OS: Mac OS X → All
Hardware: x86 → All
Version: unspecified → Trunk
Attached patch patchSplinter Review
Here's a patch which at least adds the ../.. bits; we were appending the filename as-is, rather than the filename which findIDL handed us. The latter is what dombindingsgen.py does.
Comment on attachment 590716 [details] [diff] [review] patch This does prevent DictionaryHelpers.cpp from getting rebuilt; it does not prevent libxul.so from getting rebuilt. But this is an improvement in any event.
Attachment #590716 - Flags: review?(ted.mielczarek)
Attachment #590716 - Flags: review?(ted.mielczarek) → review+
Assignee: nobody → nfroyd
Keywords: checkin-needed
Keywords: checkin-needed
Whiteboard: [inbound]
Target Milestone: --- → mozilla12
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You made it guys! This was the last offending file for me. A rebuild without any changes now does no longer relink libxul for me! Thanks you.
Thanks for fixing my bad code, Nathan!
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: