Ë
    ˜šãj.:  ã                   óv   — d Z ddlZddlmZmZmZmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZ ddlmZ  G d„ d	e	«      Zy)
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)Úlogc                   ó²   — e Zd ZdZdZi ZdgZg d¢Zeez   ZdZ	dZ
dZdxZZd	Z	 	 	 dd
„Z	 	 dd„Z	 	 	 dd„Z	 	 	 	 	 	 	 	 	 	 dd„Zdd„Z	 	 dd„Z	 	 	 	 	 dd„Zy)ÚBCPPCompilerzConcrete 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        j                  | |||«       d| _        d| _        d| _        d | _        g d¢| _        g d¢| _        g d¢| _        g d¢| _	        g | _
        g d¢| _        g d¢| _        y )	Nz	bcc32.exezilink32.exeztlib.exe)ú/tWMz/O2ú/qú/g0)r   z/Odr   r   )z/Tpdú/Gnr   ú/x)r   r   r   )r   r   r   z/r)r   Ú__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Úforces       úm/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/setuptools/_distutils/bcppcompiler.pyr   zBCPPCompiler.__init__5   so   € ô
 	×Ñ˜D '¨7°EÔ:ð ˆŒØ#ˆŒØˆŒà"&ˆÔÚ;ˆÔÚ%AˆÔ"â9ˆÔÚ$?ˆÔ!Ø ˆÔÚ.ˆÔÚ!9ˆÕó    Nc	                 óZ  — | j                  ||||||«      \  }}	}}
}|xs g }|j                  d«       |r|j                  | j                  «       n|j                  | j                  «       |	D ]ñ  }	 ||   \  }}t        j                  j                  |«      }t        j                  j                  |«      }| j                  t        j                  j                  |«      «       |dk(  rŒ~|dk(  r	 | j                  dd||g«       Œš|| j                  v rd}n|| j                  v rd}nd}d|z   }	 | j                  | j                   g|z   |
z   ||gz   |z   |gz   «       Œó |	S # t
        $ r Y �Œw xY w# t        $ r}t        |«      ‚d }~ww xY w# t        $ r}t        |«      ‚d }~ww xY w)	Nz-cú.resú.rcÚbrcc32z-foÚ z-Pú-o)Ú_setup_compileÚappendÚextendr   r   ÚKeyErrorÚosÚpathÚnormpathÚmkpathÚdirnameÚspawnr   r   Ú_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&   ÚcompilezBCPPCompiler.compileQ   sÙ  € ð
 ×#Ñ# J°¸ÀgØ$+¨^ó=ñ 	8ˆ�˜¨°%ð %Ò*¨ˆØ×Ñ˜TÔ"ÙØ×Ñ ×!;Ñ!;Õ<à×Ñ ×!5Ñ!5Ô6àò ,	(ˆCðØ  ™:‘��Sô —'‘'×"Ñ" 3Ó'ˆCÜ—'‘'×"Ñ" 3Ó'ˆCð �K‰KœŸ™Ÿ™¨Ó,Ô-à�fŠ}àØ�eŠ|ð,Ø—J‘J ¨5°#°sÐ ;Ô<ð ð �d×(Ñ(Ñ(Ø‘	Ø˜×,Ñ,Ñ,Ø ‘	ð
 �	à ™ˆJð
(Ø—
‘
˜TŸW™W˜I¨Ñ4°wÑ>Ø&¨
Ð3ñ4à*ñ+à.1¨Uñ3õ 4ðQ,	(ð\ ˆøôW ò Úðûô  *ò ,Ü& sÓ+Ð+ûð,ûô0 &ò (Ü" 3Ó'Ð'ûð(úsB   Á3E%Ã3E5Ä3.FÅ%	E2Å1E2Å5	FÅ>F	Æ	FÆ	F*ÆF%Æ%F*c                 ó2  — | j                  ||«      \  }}| j                  ||¬«      }| j                  ||«      r+|dg|z   }|r	 	 | j                  | j                  g|z   «       y t        j                  d|«       y # t
        $ r}t        |«      ‚d }~ww xY w)N)r;   z/uúskipping %s (up-to-date))	Ú_fix_object_argsÚlibrary_filenameÚ
_need_linkr7   r   r   r   r   r>   )	r"   rB   Úoutput_libnamer;   r>   Útarget_langÚoutput_filenameÚlib_argsrI   s	            r&   Úcreate_static_libzBCPPCompiler.create_static_lib’   s¡   € ð !%× 5Ñ 5°wÀ
Ó KÑˆ�*à×!Ñ! >¸jÐ!ÓIð 	ð �?‰?˜G _Ô5Ø'¨Ð.°Ñ8ˆHÙØð$Ø—
‘
˜TŸX™X˜J¨Ñ1Õ2ô �I‰IÐ0°/ÕBøô &ò $Ü˜s“mÐ#ûð$ús   ÁA= Á=	BÂBÂBc                 óæ  — | j                  ||«      \  }}| j                  |||«      \  }}}|rt        j                  dt	        |«      «       |� t
        j                  j                  ||«      }| j                  ||«      �r=|t        j                  k(  r$d}|	r| j                  d d  }n3| j                  d d  }n#d}|	r| j                  d d  }n| j                  d d  }|€d}nÊt
        j                  j                  |«      \  }}t
        j                  j!                  |«      \  }}t
        j                  j#                  |d   «      }t
        j                  j                  |d|z  «      }dg}|xs g D ]  }|j%                  d|›d	|›�«       Œ | j'                  t(        ||fd
|z  «       t+        t
        j                  j,                  |«      }|g}g }|D ]i  }t
        j                  j!                  t
        j                  j/                  |«      «      \  }}|dk(  r|j%                  |«       ŒY|j%                  |«       Œk |D ]3  }|j%                  dt
        j                  j-                  |«      z  «       Œ5 |j%                  d«       |j1                  |«       |j1                  d|g«       |j%                  d«       |D ]:  }| j3                  |||	«      }|€|j%                  |«       Œ*|j%                  |«       Œ< |j%                  d«       |j%                  d«       |j1                  d|g«       |j%                  d«       |j1                  |«       |
r|
|d d |r|j1                  |«       | j5                  t
        j                  j#                  |«      «       	 | j7                  | j8                  g|z   «       y t        j>                  d|«       y # t:        $ r}t=        |«      ‚d }~ww xY w)Nz7I don't know what to do with 'runtime_library_dirs': %sÚc0w32Úc0d32r,   r   z%s.defÚEXPORTSz  z=_z
writing %sr)   z/L%sz/L.ú,z,,Úimport32Úcw32mtrN   ) rO   Ú_fix_lib_argsr   ÚwarnÚstrr2   r3   ÚjoinrQ   r   Ú
EXECUTABLEr!   r    r   r   ÚsplitÚsplitextr6   r/   Úexecuter
   Úmapr4   Únormcaser0   Úfind_library_filer5   r7   r   r   r   r>   ) r"   Útarget_descrB   rT   r;   Ú	librariesÚlibrary_dirsÚruntime_library_dirsÚexport_symbolsr>   r?   r@   Ú
build_temprS   Ústartup_objÚld_argsÚdef_fileÚheadÚtailÚmodnamerH   Útemp_dirÚcontentsÚsymÚobjects2Ú	resourcesÚfileÚbaseÚlr   ÚlibfilerI   s                                    r&   ÚlinkzBCPPCompiler.link«   s„  € ð$ !%× 5Ñ 5°wÀ
Ó KÑˆ�*à×Ñ 	¨<Ð9MÓNñ 	8ˆ�LÐ"6ñ  Ü�H‰HÐNÜÐ-Ó.ô0ð Ð!Ü Ÿg™gŸl™l¨J¸ÓHˆOà�?‰?˜G _Õ5ð œi×2Ñ2Ò2Ø%�ÙØ"×4Ñ4±QÐ7‘Gà"×.Ñ.©qÐ1‘Gà%�ÙØ"×7Ñ7¹Ð:‘Gà"×1Ñ1±!Ð4�Gð Ð%Ø‘äŸW™WŸ]™]¨OÓ<‘
��dÜ!Ÿw™w×/Ñ/°Ó6‘�˜ÜŸ7™7Ÿ?™?¨7°1©:Ó6�ÜŸ7™7Ÿ<™<¨°8¸gÑ3EÓF�Ø%˜;�Ø*Ò0¨bò =�CØ—O’O²#±sÐ$;Õ<ð=à—‘œZ¨(°HÐ)=Ø)¨HÑ4ô6ô œ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 Ð0Ô1à�N‰N˜4Ô à ò 	,�ð ×0Ñ0°¸sÀEÓJ�Ø�?Ø—N‘N 3Õ'ð —N‘N 7Õ+ð	,ð �N‰N˜JÔ'Ø�N‰N˜HÔ%ð �N‰N˜C ˜>Ô*à�N‰N˜3ÔØ�N‰N˜9Ô%ñ Ø+�˜˜�ÙØ—‘˜~Ô.à�K‰KœŸ™Ÿ™¨/Ó:Ô;ð%Ø—
‘
˜TŸ[™[˜M¨GÑ3Õ4ô
 �I‰IÐ0°/ÕBøô	 &ò %Ü “nÐ$ûð%ús   Î O Ï	O0Ï O+Ï+O0c                 óþ   — |r|dz   }|dz   |dz   ||f}n|dz   |f}|D ]]  }|D ]V  }t         j                  j                  || j                  |«      «      }t         j                  j	                  |«      sŒR|c c S  Œ_ y )NÚ_dÚ_bcpp)r2   r3   ra   rP   Úexists)	r"   Údirsr   r>   ÚdlibÚ	try_namesÚdirÚnamer}   s	            r&   rh   zBCPPCompiler.find_library_file4  s‹   € ñ Ø˜$‘JˆDØ ™¨¨w©¸¸cÐB‰Ià˜w™¨Ð,ˆIàò 	ˆCØ!ò #�ÜŸ'™'Ÿ,™, s¨D×,AÑ,AÀ$Ó,GÓH�Ü—7‘7—>‘> 'Õ*Ø"”Nñ#ð	ð r'   c                 ó†  — |€d}g }|D �]4  }t         j                  j                  t         j                  j                  |«      «      \  }}|| j                  ddgz   vrt        d|›d|›d�«      ‚|rt         j                  j                  |«      }|dk(  r3|j                  t         j                  j                  |||z   «      «       ŒÁ|dk(  r3|j                  t         j                  j                  ||dz   «      «       Œù|j                  t         j                  j                  ||| j                  z   «      «       �Œ7 |S )Nr,   r*   r)   zunknown file type 'z	' (from 'z'))
r2   r3   rd   rg   Úsrc_extensionsr   Úbasenamer/   ra   Úobj_extension)r"   Úsource_filenamesÚ	strip_dirr;   Ú	obj_namesÚsrc_namer{   rH   s           r&   Úobject_filenameszBCPPCompiler.object_filenamesN  s  € ð Ð¨B˜zØˆ	Ø(ó 	HˆHäŸ'™'×*Ñ*¬B¯G©G×,<Ñ,<¸XÓ,FÓG‰KˆT�3Ø˜4×.Ñ.°%¸°Ñ?Ñ@Ý&ÚšHð(&ó 'ð 'áÜ—w‘w×'Ñ'¨Ó.�Ø�fŠ}à× Ñ ¤"§'¡'§,¡,°
¸DÀ3¹JÓ"GÕHØ˜’à× Ñ ¤"§'¡'§,¡,°
¸DÀ6¹MÓ"JÕKà× Ñ ¤"§'¡'§,¡,°
Ø,0°4×3EÑ3EÑ,Eó#Gö Hð	Hð" Ðr'   c                 óà  — | j                  d ||«      \  }}}t        ||«      }dg|z   }	|�|	j                  d|z   «       |r||	d d |r|	j                  |«       |	j                  |«       | j                  s|�t        ||«      rC|r.| j                  t        j                  j                  |«      «       	 | j                  |	«       y y # t        $ r}
t        |
«       t        |
«      ‚d }
~
ww xY w)Nz	cpp32.exer-   r   )Ú_fix_compile_argsr	   r/   r0   r%   r   r5   r2   r3   r6   r7   r   Úprintr   )r"   ÚsourceÚoutput_filer<   r=   r?   r@   Ú_rC   Úpp_argsrI   s              r&   Ú
preprocesszBCPPCompiler.preprocessi  sç   € ð ×"Ñ" 4¨°Ó>ñ 	"ˆˆ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   Â6C	 Ã		C-ÃC(Ã(C-)r   r   r   )NNNr   NNN)Nr   N)
NNNNNr   NNNN)r   )r   r,   )NNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úcompiler_typeÚexecutablesr8   r9   r‰   r‹   Ústatic_lib_extensionÚshared_lib_extensionÚstatic_lib_formatÚshared_lib_formatÚexe_extensionr   rL   rV   r~   rh   r�   r˜   © r'   r&   r   r      sÒ   „ ñð €Mð €Kð �F€MÚ-€Oð # _Ñ4€NØ€MØ!ÐØ!ÐØ,2Ð2ÐÐ)Ø€Mð ØØó:ð: HIØAEó<ðH '+Ø!"Ø'+óCð: ØØØ#'Ø!ØØ Ø!ØØóBCóRð8 %&Ø%'óð: !%ØØ!%Ø"&Ø#'ô(r'   r   )rœ   r2   Údistutils.errorsr   r   r   r   r   Údistutils.ccompilerr   r	   Údistutils.file_utilr
   Údistutils.dep_utilr   Ú	distutilsr   r   r¤   r'   r&   ú<module>rª      s5   ðñó 
÷9õ 9÷'å *Ý $Ý ôn(�9õ n(r'   