File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2020
2121import hashlib
2222import os
23+ import shutil
2324import subprocess
2425import sys
2526import sysconfig
@@ -90,6 +91,7 @@ def _generate_setup_py(build_dir: str, experimental: bool) -> str:
9091 return f"""\
9192 import os
9293from setuptools import setup, Extension
94+ import build_setup # noqa: F401 # Monkey-patches compiler for per-file SIMD flags
9395
9496build_dir = { build_dir !r}
9597lib_rt_dir = { lib_rt_dir !r}
@@ -169,8 +171,6 @@ def get_librt_path(experimental: bool = True) -> str:
169171
170172 # Clean up any partial build
171173 if os .path .exists (build_dir ):
172- import shutil
173-
174174 shutil .rmtree (build_dir )
175175
176176 os .makedirs (build_dir )
@@ -181,6 +181,13 @@ def get_librt_path(experimental: bool = True) -> str:
181181 with open (os .path .join (librt_pkg , "__init__.py" ), "w" ) as f :
182182 pass
183183
184+ # Copy build_setup.py for per-file SIMD compiler flags
185+ build_setup_src = os .path .join (
186+ os .path .dirname (os .path .dirname (os .path .abspath (__file__ ))), "build_setup.py"
187+ )
188+ build_setup_dst = os .path .join (build_dir , "build_setup.py" )
189+ shutil .copy (build_setup_src , build_setup_dst )
190+
184191 # Write setup.py
185192 setup_py = os .path .join (build_dir , "setup.py" )
186193 with open (setup_py , "w" ) as f :
You can’t perform that action at this time.
0 commit comments