1130d950cSDimitry Andricimport os 2130d950cSDimitry Andricimport sys 3130d950cSDimitry Andric 4130d950cSDimitry AndricpkgRelDir = sys.argv[1] 5130d950cSDimitry AndricpkgFiles = sys.argv[2:] 6130d950cSDimitry Andric 7130d950cSDimitry AndricgetFileName = lambda f: os.path.splitext(os.path.basename(f))[0] 8130d950cSDimitry AndricimportNames = ', '.join('"{}"'.format(getFileName(f)) for f in pkgFiles) 9130d950cSDimitry Andric 10130d950cSDimitry Andricscript = """__all__ = [{import_names}] 11130d950cSDimitry Andricfor x in __all__: 12130d950cSDimitry Andric __import__('lldb.{pkg_name}.' + x) 13*81ad6265SDimitry Andric 14*81ad6265SDimitry Andricdef __lldb_init_module(debugger, internal_dict): 15*81ad6265SDimitry Andric import lldb 16*81ad6265SDimitry Andric for x in __all__: 17*81ad6265SDimitry Andric submodule = getattr(lldb.{pkg_name}, x) 18*81ad6265SDimitry Andric lldb_init = getattr(submodule, '__lldb_init_module', None) 19*81ad6265SDimitry Andric if lldb_init: 20*81ad6265SDimitry Andric lldb_init(debugger, internal_dict) 21130d950cSDimitry Andric""".format(import_names=importNames, pkg_name=pkgRelDir.replace("/", ".")) 22130d950cSDimitry Andric 23130d950cSDimitry AndricpkgIniFile = os.path.normpath(os.path.join(pkgRelDir, "__init__.py")) 24130d950cSDimitry Andricwith open(pkgIniFile, "w") as f: 25130d950cSDimitry Andric f.write(script) 26