aboutsummaryrefslogtreecommitdiffhomepage
path: root/setup.py
diff options
context:
space:
mode:
authorJ08nY2024-05-15 17:54:42 +0200
committerJ08nY2024-05-15 17:54:42 +0200
commit2db18fc281222099ffaf69c94682706752791cd4 (patch)
treec23c34bff5851beefee2822e6be57f7c3b35cac8 /setup.py
parente2a400650cbc2639d44e2761c265191de1f69842 (diff)
downloadpyecsca-codegen-2db18fc281222099ffaf69c94682706752791cd4.tar.gz
pyecsca-codegen-2db18fc281222099ffaf69c94682706752791cd4.tar.zst
pyecsca-codegen-2db18fc281222099ffaf69c94682706752791cd4.zip
Add tommath build as part of build.
Fixes #8.
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py29
1 files changed, 29 insertions, 0 deletions
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})