Ë É÷T žVÀ%ãó¤—dZddlZddlZddlmZmZmZmZmZddl m Z m Z ddl m Z ddlmZddlmZej$d e«Gd „d e «Zy) zƒdistutils.bcppcompiler Contains BorlandCCompiler, an implementation of the abstract CCompiler class for the Borland C++ compiler. éNé)ÚDistutilsExecErrorÚ CompileErrorÚLibErrorÚ LinkErrorÚUnknownFileError)Ú CCompilerÚgen_preprocess_options)Ú write_file)Únewer)Úlogz˜bcppcompiler is deprecated and slated to be removed in the future. Please discontinue use or file an issue with pypa/distutils describing your use case.c󺇗eZdZdZdZiZdgZgd¢ZeezZdZ dZ dZ dxZ Z d Zdˆfd „ Z dd „Z dd „Z dd „Zdd„Zdd„Z dd„ZˆxZS)Ú BCPPCompilerzConcrete class that implements an interface to the Borland C/C++ compiler, as defined by the CCompiler abstract class. Úbcppz.c)z.ccz.cppz.cxxz.objz.libz.dllz%s%sz.execóÚ•—t‰|�|||«d|_d|_d|_d|_gd¢|_gd¢|_gd¢|_gd¢|_ g|_ gd¢|_ gd¢|_ y) Nz bcc32.exez ilink32.exeztlib.exe)ú/tWMz/O2ú/qú/g0)rz/Odrr)z/Tpdú/Gnrú/x)rrr)rrrz/r) ÚsuperÚ__init__ÚccÚlinkerÚlibÚpreprocess_optionsÚcompile_optionsÚcompile_options_debugÚldflags_sharedÚldflags_shared_debugÚldflags_staticÚ ldflags_exeÚldflags_exe_debug)ÚselfÚverboseÚdry_runÚforceÚ __class__s €úG/usr/lib/python3.12/site-packages/setuptools/_distutils/bcppcompiler.pyrzBCPPCompiler.__init__Bskø€Ü ‰Ñ˜ '¨5Ô1𠈌Ø#ˆŒ ؈Œà"&ˆÔÚ;ˆÔÚ%AˆÔ"â9ˆÔÚ$?ˆÔ!Ø ˆÔÚ.ˆÔÚ!:ˆÕóc óZ—|j||||||«\}} }} } |xsg} | jd«|r| j|j«n| j|j«| D]ñ} | | \}}t jj|«}t jj| «} |jt jj| ««|dk(rŒ~|dk(r |jdd| |g«Œš||jvrd}n||jvrd}nd}d| z} |j|j g| z| z||gz|z|gz«Œó| S#t $rY�ŒwxYw#t$r}t|«‚d}~wwxYw#t$r}t|«‚d}~wwxYw) Nz-cú.resú.rcÚbrcc32z-foÚz-Pú-o)Ú_setup_compileÚappendÚextendrrÚKeyErrorÚosÚpathÚnormpathÚmkpathÚdirnameÚspawnrrÚ _c_extensionsÚ_cpp_extensionsr)r$ÚsourcesÚ output_dirÚmacrosÚ include_dirsÚdebugÚ extra_preargsÚextra_postargsÚdependsÚobjectsÚpp_optsÚbuildÚ compile_optsÚobjÚsrcÚextÚmsgÚ input_optÚ output_opts r)ÚcompilezBCPPCompiler.compileYs߀ð;?×:MÑ:MØ ˜  ¨g°wÀó; Ñ7ˆ�˜¨°%ð%Ò*¨ˆ Ø×јDÔ!Ù Ø × Ñ  × :Ñ :Õ ;à × Ñ  × 4Ñ 4Ô 5ãˆCð Ø  ™:‘��Sô—'‘'×"Ñ" 3Ó'ˆCÜ—'‘'×"Ñ" 3Ó'ˆCð �K‰KœŸ™Ÿ™¨Ó,Ô -à�fŠ}àØ�eŠ|ð,Ø—J‘J ¨%°°cÐ:Ô;ðð�d×(Ñ(Ñ(Ø‘ ؘ×,Ñ,Ñ,Ø ‘ ð � à ™ˆJð (Ø— ‘ Ø—W‘W�IØ"ñ#àñð! *Ð-ñ.ð%ñ %ð �eñ õðQðfˆøôaò Úð ûô *ò,Ü& sÓ+Ð+ûð,ûô:&ò (Ü" 3Ó'Ð'ûð (úsBÁ3E%Ã3E5Ä3.FÅ% E2Å1E2Å5 FÅ> F Æ FÆ F*Æ F%Æ%F*có2—|j||«\}}|j||¬«}|j||«r+|dg|z}|r |j|jg|z«ytjd|«y#t $r}t |«‚d}~wwxYw)N)r>z/uúskipping %s (up-to-date)) Ú_fix_object_argsÚlibrary_filenameÚ _need_linkr:rrrr rA) r$rEÚoutput_libnamer>rAÚ target_langÚoutput_filenameÚlib_argsrLs r)Úcreate_static_libzBCPPCompiler.create_static_lib¥sœ€ð!%× 5Ñ 5°g¸zÓ Jш�*Ø×/Ñ/°È:Ð/ÓVˆà �?‰?˜7 OÔ 4Ø'¨Ð.°Ñ8ˆHÙØð $Ø— ‘ ˜DŸH™H˜:¨Ñ0Õ1ô �I‰IÐ0°/Õ Bøô&ò $ܘs“mÐ#ûð $úsÁA=Á= B BÂBcóØ—|j||«\}}|j|||«\}}}|rtjdt |««|� t j j||«}|j||«�r6|tjk(r$d}| r|jdd}n3|jdd}n#d}| r|jdd}n|jdd}|€d}nÔt j j|«\}}t j j!|«\}}t j j#|d«}t j j|d|z«}dg}|xsgD]#}|j%dj'||««Œ%|j)t*||fd |z«t-t j j.|«}|g}g}|D]i}t j j!t j j1|««\}}|d k(r|j%|«ŒY|j%|«Œk|D]3}|j%d t j j/|«z«Œ5|j%d «|j3|«|j3d |g«|j%d«|D]:}|j5||| «}|€|j%|«Œ*|j%|«Œ<|j3d«|j3d |g«|j%d «|j3|«| r| |dd| r|j3| «|j7t j j#|«« |j9|j:g|z«ytj@d|«y#t<$r}t?|«‚d}~wwxYw)Nz7I don't know what to do with 'runtime_library_dirs': %sÚc0w32Úc0d32r/rz%s.defÚEXPORTSz {}=_{}z writing %sr,z/L%sz/L.Ú,z,,)Úimport32Úcw32mtrQ)!rRÚ _fix_lib_argsr ÚwarningÚstrr5r6ÚjoinrTr Ú EXECUTABLEr#r"r rÚsplitÚsplitextr9r2ÚformatÚexecuter Úmapr7Únormcaser3Úfind_library_filer8r:rrrrA) r$Ú target_descrErWr>Ú librariesÚ library_dirsÚruntime_library_dirsÚexport_symbolsrArBrCÚ build_temprVÚ startup_objÚld_argsÚdef_fileÚheadÚtailÚmodnamerKÚtemp_dirÚcontentsÚsymÚobjects2Ú resourcesÚfileÚbaseÚellrÚlibfilerLs r)ÚlinkzBCPPCompiler.link¸sj€ð&!%× 5Ñ 5°g¸zÓ Jш�*Ø:>×:LÑ:LØ �|Ð%9ó; Ñ7ˆ�LÐ"6ñ Ü �K‰KØIÜÐ(Ó)ô ð Ð !Ü Ÿg™gŸl™l¨:°ÓGˆOà �?‰?˜7 OÕ 4àœi×2Ñ2Ò2Ø%� ÙØ"×4Ñ4±QÐ7‘Gà"×.Ñ.©qÐ1‘Gà%� ÙØ"×7Ñ7¹Ð:‘Gà"×1Ñ1±!Ð4�GðÐ%Ø‘äŸW™WŸ]™]¨?Ó;‘ ��dÜ!Ÿw™w×/Ñ/°Ó5‘ �˜ÜŸ7™7Ÿ?™?¨7°1©:Ó6�ÜŸ7™7Ÿ<™<¨°(¸WÑ2DÓE�Ø%˜;�Ø)Ò/¨RÒ/�CØ—O‘O J×$5Ñ$5°c¸3Ó$?Õ@ð0à— ‘ œZ¨(°HÐ)=¸|ÈhÑ?VÔWôœ2Ÿ7™7×+Ñ+¨WÓ5ˆHð#�mˆG؈IÛ �Ü Ÿg™g×.Ñ.¬r¯w©w×/?Ñ/?ÀÓ/EÓF‘ ��sؘ&’=Ø×$Ñ$ TÕ*à—N‘N 4Õ(ð !ó$�Ø—‘˜v¬¯©×(8Ñ(8¸Ó(=Ñ=Õ>ð$à �N‰N˜5Ô !ð �N‰N˜7Ô #ð �N‰N˜C Ð1Ô 2à �N‰N˜4Ô ã �ð×0Ñ0°¸sÀEÓJ�Ø�?Ø—N‘N 3Õ'ð—N‘N 7Õ+ð!ð �N‰NÐ1Ô 2ð �N‰N˜C ˜?Ô +à �N‰N˜3Ô Ø �N‰N˜9Ô %áØ+�˜˜� ÙØ—‘˜~Ô.à �K‰KœŸ™Ÿ™¨Ó8Ô 9ð %Ø— ‘ ˜DŸK™K˜=¨7Ñ2Õ3ô �I‰IÐ0°/Õ Bøô &ò %Ü “nÐ$ûð %úsÎOÏ O)Ï O$Ï$O)cóþ—|r|dz}|dz|dz||f}n|dz|f}|D]]}|D]V}tjj||j|««}tjj |«sŒR|ccSŒ_y)NÚ_dÚ_bcpp)r5r6rdrSÚexists) r$ÚdirsrrAÚdlibÚ try_namesÚdirÚnamer�s r)rlzBCPPCompiler.find_library_file>s�€ñ ؘ‘:ˆDØ ™¨¨w©¸¸cÐB‰Ià˜w™¨Ð,ˆIãˆCÛ!�ÜŸ'™'Ÿ,™, s¨D×,AÑ,AÀ$Ó,GÓH�Ü—7‘7—>‘> 'Õ*Ø"”Nñ"ððr*cóš—|€d}g}|D�]>}tjjtjj|««\}}||jddgzvrt dj ||««‚|rtjj|«}|dk(r3|jtjj|||z««ŒÊ|dk(r4|jtjj||dz««�Œ|jtjj|||jz««�ŒA|S)Nr/r-r,z"unknown file type '{}' (from '{}')) r5r6rgrkÚsrc_extensionsrrhÚbasenamer2rdÚ obj_extension)r$Úsource_filenamesÚ strip_dirr>Ú obj_namesÚsrc_namerrKs r)Úobject_filenameszBCPPCompiler.object_filenamesXs€Ø Р؈J؈ Ü(ˆHäŸ'™'×*Ñ*¬2¯7©7×+;Ñ+;¸HÓ+EÓF‰KˆT�3ؘ4×.Ñ.°%¸°Ñ@ÑAÜ&Ø8×?Ñ?ÀÀXÓNóðñÜ—w‘w×'Ñ'¨Ó-�Ø�fŠ}à× Ñ ¤§¡§¡¨j¸$À¹*Ó!EÕFؘ’à× Ñ ¤§¡§¡¨j¸$À¹-Ó!HÖIà× Ñ ¤§¡§¡¨j¸$À×ASÑASÑ:SÓ!TÖUð!)ð"Ðr*cóà—|jd||«\}}}t||«}dg|z} |�| jd|z«|r|| dd|r| j|«| j|«|js|� t ||«rC|r.|j tjj|«« |j| «yy#t$r} t| «t| «‚d} ~ wwxYw)Nz cpp32.exer0r)Ú_fix_compile_argsr r2r3r'r r8r5r6r9r:rÚprintr) r$ÚsourceÚ output_filer?r@rBrCÚ_rFÚpp_argsrLs r)Ú preprocesszBCPPCompiler.preprocessqså€ð%)×$:Ñ$:¸4ÀÈÓ$VÑ!ˆˆF�LÜ(¨°Ó>ˆØ�- 'Ñ)ˆØ Ð "Ø �N‰N˜4 +Ñ-Ô .Ù Ø'ˆG�B�QˆKÙ Ø �N‰N˜>Ô *Ø�‰�vÔð �:Š:˜Ð,´°f¸kÔ0JÙØ— ‘ œBŸG™GŸO™O¨KÓ8Ô9ð (Ø— ‘ ˜7Õ#ð 1Køô &ò (Ü�c” Ü" 3Ó'Ð'ûð (úsÂ6C à C-ÃC(Ã(C-)rrr)NNNrNNN)NrN) NNNNNrNNNN)r)rr/)NNNNN)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú compiler_typeÚ executablesr;r<r�r�Ústatic_lib_extensionÚshared_lib_extensionÚstatic_lib_formatÚshared_lib_formatÚ exe_extensionrrOrYr‚rlr”rœÚ __classcell__)r(s@r)rr'sÊø„ñð€Mð€Kð�F€MÚ-€Oð# _Ñ4€NØ€MØ!ÐØ!ÐØ,2Ð2ÐÐ)Ø€Mõ;ð4ØØØØØØóHðZNRóCð0ØØØ!ØØØØØØó@CóLó4ð8ØØØØ÷(r*r)r r5ÚwarningsÚerrorsrrrrrÚ ccompilerr r Ú file_utilr Ú _modifiedr Ú_logr ÚwarnÚDeprecationWarningr©r*r)Úr²sRðñó Û÷õ÷9Ý!ÝÝð€‡ � ð4ðô ôh(�9õh(r*