From e483a976d218ceb1120f00b624a4d0f30c0cd71e Mon Sep 17 00:00:00 2001 From: Yay295 Date: Wed, 24 Apr 2024 17:33:09 -0500 Subject: [PATCH] use a different temp build dir for each module --- setup.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/setup.py b/setup.py index b5769b191..2dca5e380 100644 --- a/setup.py +++ b/setup.py @@ -1008,6 +1008,17 @@ class pil_build_ext(build_ext): self.summary_report(feature) + def build_extension(self, ext): + # Append the extension name (not including "PIL.") to the temp build directory + # so that each module builds to its own directory. We need to make a (shallow) + # copy of 'self' here so that we don't overwrite this value when running in + # parallel. + import copy + + self_copy = copy.copy(self) + self_copy.build_temp = os.path.join(self.build_temp, ext.name[4:]) + build_ext.build_extension(self_copy, ext) + def summary_report(self, feature: ext_feature) -> None: print("-" * 68) print("PIL SETUP SUMMARY")