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] 8*5f757f3fSDimitry 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) 1381ad6265SDimitry Andric 1481ad6265SDimitry Andricdef __lldb_init_module(debugger, internal_dict): 1581ad6265SDimitry Andric import lldb 1681ad6265SDimitry Andric for x in __all__: 1781ad6265SDimitry Andric submodule = getattr(lldb.{pkg_name}, x) 1881ad6265SDimitry Andric lldb_init = getattr(submodule, '__lldb_init_module', None) 1981ad6265SDimitry Andric if lldb_init: 2081ad6265SDimitry Andric lldb_init(debugger, internal_dict) 21*5f757f3fSDimitry Andric""".format( 22*5f757f3fSDimitry Andric import_names=importNames, pkg_name=pkgRelDir.replace("/", ".") 23*5f757f3fSDimitry Andric) 24130d950cSDimitry Andric 25130d950cSDimitry AndricpkgIniFile = os.path.normpath(os.path.join(pkgRelDir, "__init__.py")) 26130d950cSDimitry Andricwith open(pkgIniFile, "w") as f: 27130d950cSDimitry Andric f.write(script) 28