Commit Graph

12 Commits

Author SHA1 Message Date
Gregory Szorc
6eb43615b4 Bug 979665 - Properly detect WebIDL type changes; r=froydnj
This patch fixes a bug in WebIDL code generation that could be triggered
if an input file changed locations but the original file remained on
disk. When computing the set of source .webidl files to perform code
generation on, we failed to prune files that were no longer part of the
active set of input files. References to files in old locations would
get pulled in to the regeneration set, leading to a cryptic KeyError
during code generation.

--HG--
extra : rebase_source : 23f1b973133960cfa954d44b20175fc7a369169a
2014-03-05 23:21:02 -08:00
Boris Zbarsky
2292f3d2fe Bug 956806 part 1. Output a list of prototype names in PrototypeList.cpp. r=peterv 2014-02-07 15:50:23 -05:00
Ryan VanderMeulen
edf7ab216b Backed out changesets d8a6bde76293 and 0b28eaf5bde9 (bug 956806) for suspicion of making OSX 10.6 debug mochitest-bc even more orange prone than usual. 2014-01-08 15:34:24 -05:00
Boris Zbarsky
7c95149f9e Bug 956806 part 1. Output a list of interface names in PrototypeList.cpp. r=peterv 2014-01-08 10:29:15 -05:00
Gregory Szorc
ef23c091bf Bug 949875 - Delay import some WebIDL modules; r=glandium
This prevents excessive dependencies on config.status. Those extra
dependencies make WebIDL developer workflow inefficient.

--HG--
extra : rebase_source : d656410da544d4d29eb926293d8be355cd3736db
2013-12-13 15:12:29 +09:00
Gregory Szorc
3ee97178ea Bug 950736 - Part 2: Make build failures of codegen.pp fatal; r=glandium
--HG--
extra : rebase_source : a2a815dd0342a8fdf2dacd7d643d4504e2f29eb5
extra : amend_source : 474af6a65c7ad26cdfc7d6eb26caf0b42fe741c3
2013-12-16 13:15:37 -08:00
Gregory Szorc
b7cf42c5af Bug 950736 - Don't use target of included file to perform WebIDL codegen; r=ted
Make blissfully ignores failures when processing targets of "include"
directives. This was causing failures of WebIDL codegen to be ignored
and causing make to get in a loop.

--HG--
extra : rebase_source : 1231255705315319b308b4303bc3fc41237fbfa0
extra : amend_source : cfd801d7a3490a2a712994a60e548e3482a4992e
2013-12-16 09:33:22 -08:00
Gregory Szorc
569c7918e8 Bug 950370 - Capture WebIDL example interfaces in moz.build; r=glandium
Previously, the set of WebIDL example interfaces to build was hardcoded
in the mozwebidlcodegen Python package. Unfortunately, the example
interfaces in that set were dependent on test-only bindings files,
resulting in build failures when tests were disabled (because those
test-only bindings were defined in a test directory).

In this patch, we now declare example interfaces in moz.build files
so the set of example interfaces lives next to the set of defined
bindings files. The example interfaces are defined in a test moz.build
file - in the same file declaring the bindings files that contain the
interfaces - so the example interfaces only get picked up if the
corresponding bindings are defined.

We could probably switch WebIDL moz.build variables to use lists with
flags. That would be good followup fodder. For now, let's fix the build.

--HG--
extra : rebase_source : 00070a6d560625bc84ab9b10d6848ea037f8f5ed
extra : amend_source : 0890ecef444ba58533fcfaa333773d78deafd7f3
2013-12-15 11:43:47 -08:00
Carsten "Tomcat" Book
094dcbfc13 Backed out changeset 203e2bcc575d (bug 949875) for Windows Bustage on a CLOSED TREE 2013-12-13 12:46:22 +01:00
Gregory Szorc
6a53a80489 Bug 949875 - Delay import some WebIDL modules; r=glandium
This prevents excessive dependencies on config.status. Those extra
dependencies make WebIDL developer workflow inefficient.

--HG--
extra : rebase_source : 37ba82773fe6d873e25fc8b61fef44ec9f191ebe
extra : amend_source : 3fa0796f096efdbe6a74138ea0258f68cbcf4071
2013-12-13 15:12:29 +09:00
Gregory Szorc
57e14ad346 Bug 928195 - Part 4: Rewrite WebIDL build system integration; r=bz, r=glandium
WebIDL build system integration has been rewritten from the ground up.
Changes:

* GlobalGen.py, BindingGen.py, and ExampleGen.py have been removed in
  favor of mozwebidl.py.

* Static .webidl files are now processed directly in their original location
  and aren't copied to the object directory.

* Generated events <stem>.cpp files are now compiled into the unified
  sources. Previously, only the <stem>Binding.cpp files were compiled
  into unified sources.

* Exported .h files are now generated directly into their final location.
  Previously, they were generated into the local directory then
  installed in their final location.

* The list of globalgen-generated files now lives in Python and isn't
  duplicated in 3 places.

* The make dependencies are much simpler as a result of using a single
  command to perform all code generation. The auto-generated .pp file from
  code generation sets up all dependencies necessary to reinvoke code
  generation and Python takes care of dependency management.

--HG--
extra : rebase_source : e4918878274b22a412329c7cb18cc7138daf5dc6
2013-12-12 16:26:38 +09:00
Gregory Szorc
f038352be8 Bug 928195 - Part 3: Consolidate all WebIDL Python logic into mozwebidl module; r=bz, froydnj
--HG--
extra : rebase_source : 050f1c3eb3bccdf369164be4e58c59fa71c19060
2013-11-18 13:02:11 -08:00