@@ -553,6 +553,7 @@ def build():
553553 # Download MuPDF.
554554 #
555555 mupdf_local , mupdf_location = get_mupdf ()
556+ mupdf_version_tuple = get_mupdf_version (mupdf_local )
556557
557558 build_type = os .environ .get ( 'PYMUPDF_SETUP_MUPDF_BUILD_TYPE' , 'release' )
558559 assert build_type in ('debug' , 'memento' , 'release' ), \
@@ -644,10 +645,17 @@ def add(flavour, from_, to_):
644645 # Add Windows .lib files.
645646 mupdf_build_dir2 = _windows_lib_directory (mupdf_local , build_type )
646647 add ('d' , f'{ mupdf_build_dir2 } /mupdfcpp{ wp .cpu .windows_suffix } .lib' , f'{ to_dir_d } /lib/' )
648+ if mupdf_version_tuple >= (1 , 25 ):
649+ # MuPDF-1.25+ language bindings build also builds libmuthreads.
650+ add ('d' , f'{ mupdf_build_dir2 } /libmuthreads.lib' , f'{ to_dir_d } /lib/' )
647651 elif darwin :
648652 add ('p' , f'{ mupdf_build_dir } /_mupdf.so' , to_dir )
649653 add ('b' , f'{ mupdf_build_dir } /libmupdfcpp.so' , to_dir )
650- add ('b' , f'{ mupdf_build_dir } /libmupdf.dylib' , f'{ to_dir } libmupdf.dylib' )
654+ add ('b' , f'{ mupdf_build_dir } /libmupdf.dylib' , to_dir )
655+ if mupdf_version_tuple >= (1 , 25 ):
656+ # MuPDF-1.25+ language bindings build also builds
657+ # libmupdf-threads.a.
658+ add ('d' , f'{ mupdf_build_dir } /libmupdf-threads.a' , f'{ to_dir_d } /lib/' )
651659 elif pyodide :
652660 add ('p' , f'{ mupdf_build_dir } /_mupdf.so' , to_dir )
653661 add ('b' , f'{ mupdf_build_dir } /libmupdfcpp.so' , 'PyMuPDF.libs/' )
@@ -656,6 +664,10 @@ def add(flavour, from_, to_):
656664 add ('p' , f'{ mupdf_build_dir } /_mupdf.so' , to_dir )
657665 add ('b' , pipcl .get_soname (f'{ mupdf_build_dir } /libmupdfcpp.so' ), to_dir )
658666 add ('b' , pipcl .get_soname (f'{ mupdf_build_dir } /libmupdf.so' ), to_dir )
667+ if mupdf_version_tuple >= (1 , 25 ):
668+ # MuPDF-1.25+ language bindings build also builds
669+ # libmupdf-threads.a.
670+ add ('d' , f'{ mupdf_build_dir } /libmupdf-threads.a' , f'{ to_dir_d } /lib/' )
659671
660672 if 'd' in PYMUPDF_SETUP_FLAVOUR :
661673 # Add MuPDF C and C++ headers to `ret_d`. Would prefer to use
0 commit comments