§
    Á³g 9  ã                   ó¨   — d Z ddl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  ej        d	e¦  «          G d
„ de
¦  «        ZdS )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                   óº   ‡ — 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ˆ fd„	Z	 	 	 	 	 	 	 dd„Z	 dd„Z	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Z	 	 	 	 	 dd„Zˆ xZS )Ú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.exer   c                 ó   •— t          ¦   «                              |||¦  «         d| _        d| _        d| _        d | _        g d¢| _        g d¢| _        g d¢| _        g d¢| _	        g | _
        g d¢| _        g d¢| _        d S )	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)Ú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       €ú`/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/setuptools/_distutils/bcppcompiler.pyr   zBCPPCompiler.__init__B   s    ø€ å‰Œ×Ò˜ '¨5Ñ1Ô1Ð1ð ˆŒØ#ˆŒØˆŒà"&ˆÔØ;Ð;Ð;ˆÔØ%AÐ%AÐ%AˆÔ"à9Ð9Ð9ˆÔØ$?Ð$?Ð$?ˆÔ!Ø ˆÔØ.Ð.Ð.ˆÔØ!:Ð!:Ð!:ˆÔÐÐó    Nc	                 ó~  — |                       ||||||¦  «        \  }}	}}
}|pg }|                     d¦  «         |r|                     | j        ¦  «         n|                     | j        ¦  «         |	D �]H}	 ||         \  }}n# t
          $ r Y Œw xY wt          j                             |¦  «        }t          j                             |¦  «        }|  	                    t          j         
                    |¦  «        ¦  «         |dk    rŒ—|dk    r=	 |                      dd||g¦  «         n!# t          $ r}t          |¦  «        ‚d }~ww xY wŒÚ|| j        v rd}n|| j        v rd}nd}d|z   }	 |                      | j        g|z   |
z   ||gz   |z   |gz   ¦  «         �Œ)# t          $ r}t          |¦  «        ‚d }~ww xY w|	S )	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.compileZ   sQ  € ð ;?×:MÒ:MØ˜ ¨g°wÀñ;
ô ;
Ñ7ˆ�˜¨°%ð %Ð*¨ˆØ×Ò˜DÑ!Ô!Ð!Øð 	6Ø×Ò Ô :Ñ;Ô;Ð;Ð;à×Ò Ô 4Ñ5Ô5Ð5àð 1	(ñ 1	(ˆCðØ  œ:‘��S�SøÝð ð ð Ø�ðøøøõ ”'×"Ò" 3Ñ'Ô'ˆCÝ”'×"Ò" 3Ñ'Ô'ˆCð �KŠK�œŸš¨Ñ,Ô,Ñ-Ô-Ð-à�fŠ}ˆ}àØ�eŠ|ˆ|ð,Ø—J’J ¨%°°cÐ:Ñ;Ô;Ð;Ð;øÝ)ð ,ð ,ð ,Ý& sÑ+Ô+Ð+øøøøð,øøøàð �dÔ(Ð(Ð(Ø�	�	Ø˜Ô,Ð,Ð,Ø �	�	ð
 �	à ™ˆJð

(Ø—
’
Ø”W�IØ"ñ#àñð ! *Ð-ñ.ð %ñ	%ð
 �eññô ð ñ øõ &ð (ð (ð (Ý" 3Ñ'Ô'Ð'øøøøð(øøøð ˆsB   Á7BÂ
BÂBÄD+Ä+
E	Ä5EÅE	Å--FÆ
F:Æ&F5Æ5F:c                 óT  — |                       ||¦  «        \  }}|                      ||¬¦  «        }|                      ||¦  «        rL|dg|z   }|r	 	 |                      | j        g|z   ¦  «         d S # t
          $ r}t          |¦  «        ‚d }~ww xY wt          j        d|¦  «         d S )N)r>   z/uúskipping %s (up-to-date))	Ú_fix_object_argsÚlibrary_filenameÚ
_need_linkr:   r   r   r   r   rA   )	r$   rE   Úoutput_libnamer>   rA   Útarget_langÚoutput_filenameÚlib_argsrL   s	            r)   Úcreate_static_libzBCPPCompiler.create_static_lib§   sÓ   € ð !%× 5Ò 5°g¸zÑ JÔ JÑˆ�*Ø×/Ò/°È:Ð/ÑVÔVˆà�?Š?˜7 OÑ4Ô4ð 		CØ'¨Ð.°Ñ8ˆHØð Øð$Ø—
’
˜DœH˜:¨Ñ0Ñ1Ô1Ð1Ð1Ð1øÝ%ð $ð $ð $Ý˜s‘m”mÐ#øøøøð$øøøõ ŒIÐ0°/ÑBÔBÐBÐBÐBs   ÁA2 Á2
BÁ<BÂBc                 ó¬  — |                       ||¦  «        \  }}|                      |||¦  «        \  }}}|r"t          j        dt	          |¦  «        ¦  «         |� t
          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                             |¦  «        \  }}t
          j                             |¦  «        \  }}t
          j                             |d         ¦  «        }t
          j                             |d|z  ¦  «        }dg}|pg D ]+}|                     d                     ||¦  «        ¦  «         Œ,|                      t*          ||fd	|z  ¦  «         t-          t
          j        j        |¦  «        }|g}g }|D ]r}t
          j                             t
          j                             |¦  «        ¦  «        \  }}|d
k    r|                     |¦  «         Œ]|                     |¦  «         Œs|D ]7}|                     dt
          j                             |¦  «        z  ¦  «         Œ8|                     d¦  «         |                     |¦  «         |                     d|g¦  «         |                     d¦  «         |D ]F}|                      |||	¦  «        }|€|                     |¦  «         Œ1|                     |¦  «         ŒG|                     d¦  «         |                     d¦  «         |                     d|g¦  «         |                     d¦  «         |                     |¦  «         |
r|
|d d…<   |r|                     |¦  «         |                      t
          j                             |¦  «        ¦  «         	 |                      | j        g|z   ¦  «         d S # t<          $ r}t?          |¦  «        ‚d }~ww xY wt          j         d|¦  «         d S )Nz7I don't know what to do with 'runtime_library_dirs': %sÚc0w32Úc0d32r/   r   z%s.defÚEXPORTSz  {}=_{}z
writing %sr,   z/L%sz/L.ú,z,,Úimport32Úcw32mtrQ   )!rR   Ú_fix_lib_argsr   ÚwarningÚstrr5   r6   ÚjoinrT   r	   Ú
EXECUTABLEr#   r"   r    r   ÚsplitÚsplitextr9   r2   ÚformatÚexecuter   Úmapr7   Únormcaser3   Úfind_library_filer8   r:   r   r   r   rA   ) r$   Útarget_descrE   rW   r>   Ú	librariesÚlibrary_dirsÚruntime_library_dirsÚexport_symbolsrA   rB   rC   Ú
build_temprV   Ústartup_objÚld_argsÚdef_fileÚheadÚtailÚmodnamerK   Útemp_dirÚcontentsÚsymÚobjects2Ú	resourcesÚfileÚbaseÚellr   ÚlibfilerL   s                                    r)   ÚlinkzBCPPCompiler.link»   s|  € ð( !%× 5Ò 5°g¸zÑ JÔ JÑˆ�*Ø:>×:LÒ:LØ�|Ð%9ñ;
ô ;
Ñ7ˆ�LÐ"6ð  ð 	ÝŒKØIÝÐ(Ñ)Ô)ñô ð ð
 Ð!Ý œgŸlšl¨:°ÑGÔGˆOà�?Š?˜7 OÑ4Ô4ñ a	Cð �iÔ2Ò2Ð2Ø%�Øð 2Ø"Ô4°Q°Q°QÔ7�G�Gà"Ô.¨q¨q¨qÔ1�G�Gà%�Øð 5Ø"Ô7¸¸¸Ô:�G�Gà"Ô1°!°!°!Ô4�Gð Ð%Ø��åœWŸ]š]¨?Ñ;Ô;‘
��dÝ!œw×/Ò/°Ñ5Ô5‘�˜Ýœ7Ÿ?š?¨7°1¬:Ñ6Ô6�Ýœ7Ÿ<š<¨°(¸WÑ2DÑEÔE�Ø%˜;�Ø)Ð/¨Rð Að A�CØ—O’O J×$5Ò$5°c¸3Ñ$?Ô$?Ñ@Ô@Ð@Ð@Ø—’�Z¨(°HÐ)=¸|ÈhÑ?VÑWÔWÐWõ �2œ7Ô+¨WÑ5Ô5ˆHð #�mˆGØˆIØ ð )ð )�Ý œg×.Ò.­r¬w×/?Ò/?ÀÑ/EÔ/EÑFÔF‘��sØ˜&’=�=Ø×$Ò$ TÑ*Ô*Ð*Ð*à—N’N 4Ñ(Ô(Ð(Ð(à#ð ?ð ?�Ø—’˜v­¬×(8Ò(8¸Ñ(=Ô(=Ñ=Ñ>Ô>Ð>Ð>Ø�NŠN˜5Ñ!Ô!Ð!ð �NŠN˜7Ñ#Ô#Ð#ð �NŠN˜C Ð1Ñ2Ô2Ð2à�NŠN˜4Ñ Ô Ð à ð 	,ð 	,�ð ×0Ò0°¸sÀEÑJÔJ�Ø�?Ø—N’N 3Ñ'Ô'Ð'Ð'ð —N’N 7Ñ+Ô+Ð+Ð+ð �NŠN˜:Ñ&Ô&Ð&Ø�NŠN˜8Ñ$Ô$Ð$ð �NŠN˜C ˜?Ñ+Ô+Ð+à�NŠN˜3ÑÔÐØ�NŠN˜9Ñ%Ô%Ð%àð ,Ø+�˜˜˜‘Øð /Ø—’˜~Ñ.Ô.Ð.à�KŠK�œŸš¨Ñ8Ô8Ñ9Ô9Ð9ð%Ø—
’
˜DœK˜=¨7Ñ2Ñ3Ô3Ð3Ð3Ð3øÝ%ð %ð %ð %Ý ‘n”nÐ$øøøøð%øøøõ ŒIÐ0°/ÑBÔBÐBÐBÐBs   Ï>P Ð
P<Ð(P7Ð7P<c                 ó   — |r|dz   }|dz   |dz   ||f}n|dz   |f}|D ]_}|D ]Z}t           j                             ||                      |¦  «        ¦  «        }t           j                             |¦  «        r|c c S Œ[Œ`d S )NÚ_dÚ_bcpp)r5   r6   rd   rS   Úexists)	r$   Údirsr   rA   ÚdlibÚ	try_namesÚdirÚnamer�   s	            r)   rl   zBCPPCompiler.find_library_fileD  s°   € ð ð 	-Ø˜‘:ˆDØ ™¨¨w©¸¸cÐBˆIˆIà˜w™¨Ð,ˆIàð 	ð 	ˆCØ!ð #ð #�Ýœ'Ÿ,š, s¨D×,AÒ,AÀ$Ñ,GÔ,GÑHÔH�Ý”7—>’> 'Ñ*Ô*ð #Ø"�N�N�N�N�Nð#ð#ð �4r*   r/   c                 ó®  — |€d}g }|D �]J}t           j                             t           j                             |¦  «        ¦  «        \  }}|| j        ddgz   vr#t          d                     ||¦  «        ¦  «        ‚|rt           j                             |¦  «        }|dk    r7|                     t           j         	                    |||z   ¦  «        ¦  «         ŒÑ|dk    r8|                     t           j         	                    ||dz   ¦  «        ¦  «         �Œ|                     t           j         	                    ||| j
        z   ¦  «        ¦  «         �ŒL|S )Nr/   r-   r,   z"unknown file type '{}' (from '{}'))r5   r6   rg   rk   Úsrc_extensionsr   rh   Úbasenamer2   rd   Úobj_extension)r$   Úsource_filenamesÚ	strip_dirr>   Ú	obj_namesÚsrc_namer   rK   s           r)   Úobject_filenameszBCPPCompiler.object_filenames^  sD  € ØÐØˆJØˆ	Ø(ð 	Vñ 	VˆHåœ'×*Ò*­2¬7×+;Ò+;¸HÑ+EÔ+EÑFÔF‰KˆT�3Ø˜4Ô.°%¸°Ñ@ÐAÐAÝ&Ø8×?Ò?ÀÀXÑNÔNñô ð ð ð .Ý”w×'Ò'¨Ñ-Ô-�Ø�fŠ}ˆ}à× Ò ¥¤§¢¨j¸$À¹*Ñ!EÔ!EÑFÔFÐFÐFØ˜’�à× Ò ¥¤§¢¨j¸$À¹-Ñ!HÔ!HÑIÔIÐIÑIà× Ò ¥¤§¢¨j¸$ÀÔASÑ:SÑ!TÔ!TÑUÔUÐUÑUØÐr*   c                 ó0  — |                       d ||¦  «        \  }}}t          ||¦  «        }dg|z   }	|�|	                     d|z   ¦  «         |r||	d d…<   |r|	                     |¦  «         |	                     |¦  «         | j        s|�t          ||¦  «        r||r2|                      t          j         	                    |¦  «        ¦  «         	 |  
                    |	¦  «         d S # t          $ r#}
t          |
¦  «         t          |
¦  «        ‚d }
~
ww xY wd S )Nz	cpp32.exer0   r   )Ú_fix_compile_argsr
   r2   r3   r'   r   r8   r5   r6   r9   r:   r   Úprintr   )r$   ÚsourceÚoutput_filer?   r@   rB   rC   Ú_rF   Úpp_argsrL   s              r)   Ú
preprocesszBCPPCompiler.preprocessw  s@  € ð %)×$:Ò$:¸4ÀÈÑ$VÔ$VÑ!ˆˆF�LÝ(¨°Ñ>Ô>ˆØ�- 'Ñ)ˆØÐ"Ø�NŠN˜4 +Ñ-Ñ.Ô.Ð.Øð 	(Ø'ˆG�B�Q�B‰KØð 	+Ø�NŠN˜>Ñ*Ô*Ð*Ø�Š�vÑÔÐð
 Œ:ð 	(˜Ð,µ°f¸kÑ0JÔ0JÐ,Øð :Ø—’�BœGŸOšO¨KÑ8Ô8Ñ9Ô9Ð9ð(Ø—
’
˜7Ñ#Ô#Ð#Ð#Ð#øÝ%ð (ð (ð (Ý�c‘
”
�
Ý" 3Ñ'Ô'Ð'øøøøð(øøøð -Ð,s   ÃC& Ã&
DÃ0DÄD)r   r   r   )NNNr   NNN)Nr   N)
NNNNNr   NNNN)r   )r   r/   )NNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úcompiler_typeÚexecutablesr;   r<   r�   r�   Ústatic_lib_extensionÚshared_lib_extensionÚstatic_lib_formatÚshared_lib_formatÚexe_extensionr   rO   rY   r‚   rl   r”   rœ   Ú__classcell__)r(   s   @r)   r   r   '   sp  ø€ € € € € ðð ð €Mð €Kð �F€MØ-Ð-Ð-€Oð # _Ñ4€NØ€MØ!ÐØ!ÐØ,2Ð2ÐÐ)Ø€Mð;ð ;ð ;ð ;ð ;ð ;ð6 ØØØØØØðIð Ið Ið Ið\ NRðCð Cð Cð Cð2 ØØØ!ØØØØØØðCCð CCð CCð CCðRð ð ð ð4ð ð ð ð8 ØØØØð(ð (ð (ð (ð (ð (ð (ð (r*   r   )r    r5   ÚwarningsÚerrorsr   r   r   r   r   Ú	ccompilerr	   r
   Ú	file_utilr   Údep_utilr   Ú_logr   ÚwarnÚDeprecationWarningr   © r*   r)   ú<module>r²      s  ððð ð 
€	€	€	Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð €„ð4ð ñ	ô ð ðo(ð o(ð o(ð o(ð o(�9ñ o(ô o(ð o(ð o(ð o(r*   