diff --git a/scripts/generate_pxi.py b/scripts/generate_pxi.py new file mode 100644 index 0000000000000..3462b97aefcbf --- /dev/null +++ b/scripts/generate_pxi.py @@ -0,0 +1,33 @@ +import argparse +import os + +from Cython import Tempita + + +def process_tempita(pxifile, outfile): + with open(pxifile) as f: + tmpl = f.read() + pyxcontent = Tempita.sub(tmpl) + + with open(outfile, "w") as f: + f.write(pyxcontent) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("infile", type=str, help="Path to the input file") + parser.add_argument("-o", "--outdir", type=str, help="Path to the output directory") + args = parser.parse_args() + + if not args.infile.endswith(".in"): + raise ValueError(f"Unexpected extension: {args.infile}") + + outdir_abs = os.path.join(os.getcwd(), args.outdir) + outfile = os.path.join( + outdir_abs, os.path.splitext(os.path.split(args.infile)[1])[0] + ) + + process_tempita(args.infile, outfile) + + +main() diff --git a/scripts/generate_version.py b/scripts/generate_version.py new file mode 100644 index 0000000000000..fbc78ab12429a --- /dev/null +++ b/scripts/generate_version.py @@ -0,0 +1,34 @@ +import argparse +import os + +import versioneer + + +def write_version_info(path): + if os.environ.get("MESON_DIST_ROOT"): + # raise ValueError("dist root is", os.environ.get("MESON_DIST_ROOT")) + path = os.path.join(os.environ.get("MESON_DIST_ROOT"), path) + with open(path, "w") as file: + file.write(f'__version__="{versioneer.get_version()}"\n') + file.write( + f'__git_version__="{versioneer.get_versions()["full-revisionid"]}"\n' + ) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument( + "-o", "--outfile", type=str, help="Path to write version info to" + ) + args = parser.parse_args() + + if not args.outfile.endswith(".py"): + raise ValueError( + f"Output file must be a Python file. " + f"Got: {args.outfile} as filename instead" + ) + + write_version_info(args.outfile) + + +main()