@@ -93,7 +93,6 @@ def get_version() -> str:
93
93
"JpegDecode" ,
94
94
"JpegEncode" ,
95
95
"Matrix" ,
96
- "Mode" ,
97
96
"ModeFilter" ,
98
97
"Negative" ,
99
98
"Offset" ,
@@ -938,17 +937,6 @@ def build_extensions(self) -> None:
938
937
939
938
self .summary_report (feature )
940
939
941
- def build_extension (self , ext ):
942
- # Append the extension name (not including "PIL.") to the temp build directory
943
- # so that each module builds to its own directory. We need to make a (shallow)
944
- # copy of 'self' here so that we don't overwrite this value when running in
945
- # parallel.
946
- import copy
947
-
948
- self_copy = copy .copy (self )
949
- self_copy .build_temp = os .path .join (self .build_temp , ext .name [4 :])
950
- build_ext .build_extension (self_copy , ext )
951
-
952
940
def summary_report (self , feature : ext_feature ) -> None :
953
941
print ("-" * 68 )
954
942
print ("PIL SETUP SUMMARY" )
@@ -1013,16 +1001,20 @@ def debug_build() -> bool:
1013
1001
return hasattr (sys , "gettotalrefcount" ) or FUZZING_BUILD
1014
1002
1015
1003
1004
+ libraries = [
1005
+ ("pil_imaging_mode" , {"sources" : ["src/libImaging/Mode.c" ]}),
1006
+ ]
1007
+
1016
1008
files = ["src/_imaging.c" ]
1017
1009
for src_file in _IMAGING :
1018
1010
files .append ("src/" + src_file + ".c" )
1019
1011
for src_file in _LIB_IMAGING :
1020
1012
files .append (os .path .join ("src/libImaging" , src_file + ".c" ))
1021
1013
ext_modules = [
1022
- Extension ("PIL._imaging" , files ),
1023
- Extension ("PIL._imagingft" , ["src/_imagingft.c" , "src/libImaging/Mode.c " ]),
1014
+ Extension ("PIL._imaging" , files , libraries = [ "pil_imaging_mode" ] ),
1015
+ Extension ("PIL._imagingft" , ["src/_imagingft.c" ], libraries = [ "pil_imaging_mode " ]),
1024
1016
Extension ("PIL._imagingcms" , ["src/_imagingcms.c" ]),
1025
- Extension ("PIL._webp" , ["src/_webp.c" , "src/libImaging/Mode.c " ]),
1017
+ Extension ("PIL._webp" , ["src/_webp.c" ], libraries = [ "pil_imaging_mode " ]),
1026
1018
Extension ("PIL._imagingtk" , ["src/_imagingtk.c" , "src/Tk/tkImaging.c" ]),
1027
1019
Extension ("PIL._imagingmath" , ["src/_imagingmath.c" ]),
1028
1020
Extension ("PIL._imagingmorph" , ["src/_imagingmorph.c" ]),
@@ -1038,6 +1030,7 @@ def debug_build() -> bool:
1038
1030
setup (
1039
1031
cmdclass = {"build_ext" : pil_build_ext },
1040
1032
ext_modules = ext_modules ,
1033
+ libraries = libraries ,
1041
1034
zip_safe = not (debug_build () or PLATFORM_MINGW ),
1042
1035
)
1043
1036
except RequiredDependencyException as err :
0 commit comments