xref: /freebsd-src/contrib/llvm-project/lldb/bindings/python/createPythonInit.py (revision 130d950cafcd29c6a32cf5357bf600dcd9c1d998)
1*130d950cSDimitry Andricimport os
2*130d950cSDimitry Andricimport sys
3*130d950cSDimitry Andric
4*130d950cSDimitry AndricpkgRelDir = sys.argv[1]
5*130d950cSDimitry AndricpkgFiles = sys.argv[2:]
6*130d950cSDimitry Andric
7*130d950cSDimitry AndricgetFileName = lambda f: os.path.splitext(os.path.basename(f))[0]
8*130d950cSDimitry AndricimportNames = ', '.join('"{}"'.format(getFileName(f)) for f in pkgFiles)
9*130d950cSDimitry Andric
10*130d950cSDimitry Andricscript = """__all__ = [{import_names}]
11*130d950cSDimitry Andricfor x in __all__:
12*130d950cSDimitry Andric  __import__('lldb.{pkg_name}.' + x)
13*130d950cSDimitry Andric""".format(import_names=importNames, pkg_name=pkgRelDir.replace("/", "."))
14*130d950cSDimitry Andric
15*130d950cSDimitry AndricpkgIniFile = os.path.normpath(os.path.join(pkgRelDir, "__init__.py"))
16*130d950cSDimitry Andricwith open(pkgIniFile, "w") as f:
17*130d950cSDimitry Andric    f.write(script)
18