diff options
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/bindings/codegen/GlobalGen.py | 7 | ||||
-rw-r--r-- | components/script/dom/bindings/codegen/pythonpath.py | 61 | ||||
-rw-r--r-- | components/script/dom/mod.rs | 3 |
3 files changed, 70 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/GlobalGen.py b/components/script/dom/bindings/codegen/GlobalGen.py index 23779d9e6d5..8f122f52bd1 100644 --- a/components/script/dom/bindings/codegen/GlobalGen.py +++ b/components/script/dom/bindings/codegen/GlobalGen.py @@ -34,6 +34,8 @@ def main(): help="Directory in which to cache lex/parse tables.") o.add_option("--only-html", dest='only_html', action="store_true", help="Only generate HTML from WebIDL inputs") + o.add_option("--filelist", dest='filelist', default=None, + help="A file containing the list (one per line) of webidl files to process.") (options, args) = o.parse_args() if len(args) < 2: @@ -42,7 +44,10 @@ def main(): configFile = args[0] outputdir = args[1] baseDir = args[2] - fileList = args[3:] + if options.filelist is not None: + fileList = (l.strip() for l in open(options.filelist).xreadlines()) + else: + fileList = args[3:] # Parse the WebIDL. parser = WebIDL.Parser(options.cachedir) diff --git a/components/script/dom/bindings/codegen/pythonpath.py b/components/script/dom/bindings/codegen/pythonpath.py new file mode 100644 index 00000000000..793089551b5 --- /dev/null +++ b/components/script/dom/bindings/codegen/pythonpath.py @@ -0,0 +1,61 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +""" +Run a python script, adding extra directories to the python path. +""" + + +def main(args): + def usage(): + print >>sys.stderr, "pythonpath.py -I directory script.py [args...]" + sys.exit(150) + + paths = [] + + while True: + try: + arg = args[0] + except IndexError: + usage() + + if arg == '-I': + args.pop(0) + try: + path = args.pop(0) + except IndexError: + usage() + + paths.append(os.path.abspath(path)) + continue + + if arg.startswith('-I'): + paths.append(os.path.abspath(args.pop(0)[2:])) + continue + + if arg.startswith('-D'): + os.chdir(args.pop(0)[2:]) + continue + + break + + script = args[0] + + sys.path[0:0] = [os.path.abspath(os.path.dirname(script))] + paths + sys.argv = args + sys.argc = len(args) + + frozenglobals['__name__'] = '__main__' + frozenglobals['__file__'] = script + + execfile(script, frozenglobals) + +# Freeze scope here ... why this makes things work I have no idea ... +frozenglobals = globals() + +import sys +import os + +if __name__ == '__main__': + main(sys.argv[1:]) diff --git a/components/script/dom/mod.rs b/components/script/dom/mod.rs index c2121c84139..432246d814f 100644 --- a/components/script/dom/mod.rs +++ b/components/script/dom/mod.rs @@ -206,7 +206,10 @@ pub mod macros; pub mod types { + #[cfg(not(target_env = "msvc"))] include!(concat!(env!("OUT_DIR"), "/InterfaceTypes.rs")); + #[cfg(target_env = "msvc")] + include!(concat!(env!("OUT_DIR"), "/build/InterfaceTypes.rs")); } pub mod abstractworker; |