1cfca06d7SDimitry Andricimport os 2cfca06d7SDimitry Andricimport sys 3cfca06d7SDimitry Andric 4cfca06d7SDimitry AndricpkgRelDir = sys.argv[1] 5cfca06d7SDimitry AndricpkgFiles = sys.argv[2:] 6cfca06d7SDimitry Andric 7cfca06d7SDimitry AndricgetFileName = lambda f: os.path.splitext(os.path.basename(f))[0] 8b1c73532SDimitry AndricimportNames = ", ".join('"{}"'.format(getFileName(f)) for f in pkgFiles) 9cfca06d7SDimitry Andric 10cfca06d7SDimitry Andricscript = """__all__ = [{import_names}] 11cfca06d7SDimitry Andricfor x in __all__: 12cfca06d7SDimitry Andric __import__('lldb.{pkg_name}.' + x) 13145449b1SDimitry Andric 14145449b1SDimitry Andricdef __lldb_init_module(debugger, internal_dict): 15145449b1SDimitry Andric import lldb 16145449b1SDimitry Andric for x in __all__: 17145449b1SDimitry Andric submodule = getattr(lldb.{pkg_name}, x) 18145449b1SDimitry Andric lldb_init = getattr(submodule, '__lldb_init_module', None) 19145449b1SDimitry Andric if lldb_init: 20145449b1SDimitry Andric lldb_init(debugger, internal_dict) 21b1c73532SDimitry Andric""".format( 22b1c73532SDimitry Andric import_names=importNames, pkg_name=pkgRelDir.replace("/", ".") 23b1c73532SDimitry Andric) 24cfca06d7SDimitry Andric 25cfca06d7SDimitry AndricpkgIniFile = os.path.normpath(os.path.join(pkgRelDir, "__init__.py")) 26cfca06d7SDimitry Andricwith open(pkgIniFile, "w") as f: 27cfca06d7SDimitry Andric f.write(script) 28