Open Bug 853870 Opened 9 years ago Updated 3 years ago

fix rebuilding individual *Binding.{cpp,h} files

Categories

(Core :: DOM: Core & HTML, defect, P5)

defect

Tracking

()

People

(Reporter: froydnj, Unassigned)

Details

Attachments

(1 file)

Try the following sequence of steps:

1) Build dom/bindings/.
2) Modify a webidl file of your choice to include an attribute.
3) Copy the corresponding .cpp out of the way.
4) Run make -C dom/bindings/ name_of_file.cpp.
5) Diff the file from step 3 and the file from step 5.
6) Observe no difference.
This only seems to be a problem for rebuilding individual files.  I suppose there
could be other lurking issues, though...?
Attachment #728230 - Flags: review?(khuey)
Does that not force all .cpp files to be regenerated during a build if _any_ webidl file changed?
(In reply to Boris Zbarsky (:bz) from comment #2)
> Does that not force all .cpp files to be regenerated during a build if _any_
> webidl file changed?

ParserResults.pkl already depends on all the webidl files right now.  So right now, make should detect that, rebuild ParserResults.pkl and the global headers, then rebuild the .cpp files.  This patch is just making explicit some dependencies that were more roundabout before.

Another alternative would be to make the deps files for the individual .cpp/.h files more accurate by including the global headers.  I think that should have the same effect.
I thought make was rebuilding the .cpp files based on the relevant deps files, so in fact right now a change to webidl will change ParserResults.pkl but NOT rebuild all the .cpp files.
You are correct.  But building individual .cpp files does not work correctly.  Building individual .o files does seem to work correctly.
Fixed by the rewrite?
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046

Move all DOM bugs that haven't been updated in more than 3 years and has no one currently assigned to P5.

If you have questions, please contact :mdaly.
Priority: -- → P5
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.