# options. The options are set before XML loading as they may affect it. reg = Registry(gen, options) # Parse the specified registry XML into an ElementTree object startTimer(args.time) tree = etree.parse(args.registry) endTimer(args.time, '* Time to make ElementTree =') # Load the XML tree into the registry object startTimer(args.time) reg.loadElementTree(tree) endTimer(args.time, '* Time to parse ElementTree =') if args.validate: reg.validateGroups() if args.dump: logDiag('* Dumping registry to regdump.txt') reg.dumpReg(filehandle=open('regdump.txt', 'w', encoding='utf-8')) # Finally, use the output generator to create the requested target if args.debug: pdb.run('reg.apiGen()') else: startTimer(args.time) reg.apiGen() endTimer(args.time, '* Time to generate ' + options.filename + ' =') if not args.quiet: logDiag('* Generated', options.filename)
module="{}.vk".format(pack), apiname="vulkan", regFile=path.join(regDir, "vk.xml"), versions=featuresPat, addExtensions=addPlatformExtensionsRE, removeExtensions=None, emitExtensions=emitPlatformExtensionsRE, ), ] for opts in buildList: gen = DGenerator() reg = Registry() reg.loadElementTree(etree.parse(opts.regFile)) reg.setGenerator(gen) reg.apiGen(opts) files.append(opts.filename) import platform libname = '' if platform.system() == 'Windows': libname = 'vkd.lib' else: libname = 'libvkd.a' with open(path.join(rootDir, 'dmd_args.txt'), "w") as argfile: argfile.write('-lib\n') argfile.write('-I' + args.dest + '\n') argfile.write('-of' + path.join(rootDir, libname) + '\n') for f in files: argfile.write(f + '\n')