From 2db18fc281222099ffaf69c94682706752791cd4 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 15 May 2024 17:54:42 +0200 Subject: Add tommath build as part of build. Fixes #8. --- setup.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 setup.py (limited to 'setup.py') diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..ac4958e --- /dev/null +++ b/setup.py @@ -0,0 +1,29 @@ +from contextlib import suppress +from pathlib import Path +from setuptools import Command, setup +from setuptools.command.build import build +import subprocess +import shutil + + +class CustomTommath(Command): + def initialize_options(self) -> None: + self.build_lib = None + + def finalize_options(self) -> None: + with suppress(Exception): + self.build_lib = Path(self.get_finalized_command("build").build_lib) + + def run(self) -> None: + if self.build_lib: + subprocess.run(["make", "host", "nano", "stm32f0", "stm32f3"], cwd="ext") + tommath_dir = Path("pyecsca/codegen/tommath") + shutil.copytree(tommath_dir, self.build_lib / tommath_dir) + + + +class CustomBuild(build): + sub_commands = build.sub_commands + [('build_tommath', None)] + + +setup(cmdclass={'build': CustomBuild, 'build_tommath': CustomTommath}) -- cgit v1.3.1