
    ǆiR9                         S r SSKrSSKrSSKJr  SSKJr  SSKJrJ	r	  SSK
JrJrJrJrJr  SSKJr  \R$                  " S	\5         " S
 S\5      rg)zdistutils.bcppcompiler

Contains BorlandCCompiler, an implementation of the abstract CCompiler class
for the Borland C++ compiler.
    N   )log)newer)	CCompilergen_preprocess_options)CompileErrorDistutilsExecErrorLibError	LinkErrorUnknownFileError)
write_filezbcppcompiler 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                      ^  \ rS rSrSrSr0 rS/r/ SQr\\-   r	Sr
SrSrS	=rrS
rSU 4S jjr       SS jr SS jr          SS jrSS jrSS jr     SS jrSrU =r$ )BCPPCompiler%   zwConcrete 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U ]  XU5        SU l        SU l        SU l        S U l        / SQU l        / SQU l        / SQU l        / SQU l	        / U l
        / SQU l        / SQU l        g )	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       r/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/setuptools/_distutils/bcppcompiler.pyr   BCPPCompiler.__init__@   si    51 #"&;%A"9$?! .!:    c	                 v   U R                  X#XAX5      u  p9pznU=(       d    / nUR                  S5        U(       a  UR                  U R                  5        OUR                  U R                  5        U	 H  n X   u  p[        R                  R                  U5      n[        R                  R                  U5      nU R                  [        R                  R                  U5      5        US:X  a  M~  US:X  a   U R                  SSX/5        M  XR                  ;   a  SnOXR                  ;   a  SnOSnSU-   n U R                  U R                   /U-   U
-   UU/-   U-   U/-   5        M     U	$ ! [
         a     GM	  f = f! [         a  n[        U5      eS nAff = f! [         a  n[        U5      eS nAff = f)	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*   compileBCPPCompiler.compileW   s    ;?:M:Mw;
7% %*D! : :; 4 45C : ''""3'C''""3'C KK,-f}e|,JJ%:;  (((	,,, 	
 	J

(

WWI"# !*-. %	%
 eQ f a    * ,&s++,: & ("3''(sB   8E/9F;.F/
E>=E>
FFF
F8(F33F8c                 <   U R                  X5      u  pU R                  X#S9nU R                  X5      (       a0  US/U-   nU(       a    U R                  U R                  /U-   5        g [        R                  " SU5        g ! [
         a  n[        U5      eS nAff = f)N)r@   z/uskipping %s (up-to-date))	_fix_object_argslibrary_filename
_need_linkr<   r   r	   r
   r   rC   )	r%   rG   output_libnamer@   rC   target_langoutput_filenamelib_argsrN   s	            r*   create_static_libBCPPCompiler.create_static_lib   s     !% 5 5g J///V??744'.8H$

DHH:01 II0/B & $sm#$s   	B 
BBBc                     U R                  X$5      u  p$U R                  XVU5      u  pVnU(       a   [        R                  " S[	        U5      5        Ub  [
        R                  R                  XC5      nU R                  X#5      (       GaR  U[        R                  :X  a)  SnU	(       a  U R                  S S  nO8U R                  S S  nO(SnU	(       a  U R                  S S  nOU R                  S S  nUc  SnO[
        R                  R                  U5      u  nn[
        R                  R!                  U5      u  nn[
        R                  R#                  US   5      n[
        R                  R                  UU S35      nS/nU=(       d    /  H  nUR%                  SU S	U 35        M     U R'                  [(        UU4S
U 35        [+        [
        R                  R,                  U5      nU/n/ nU Hl  n[
        R                  R!                  [
        R                  R/                  U5      5      u  nnUS:X  a  UR%                  U5        M[  UR%                  U5        Mn     U H4  nUR%                  S[
        R                  R-                  U5       35        M6     UR%                  S5        UR1                  U5        UR1                  SU/5        UR%                  S5        U H=  nU R3                  UUU	5      nUc  UR%                  U5        M,  UR%                  U5        M?     UR1                  S5        UR1                  SU/5        UR%                  S5        UR1                  U5        U
(       a  XS S& U(       a  UR1                  U5        U R5                  [
        R                  R#                  U5      5         U R7                  U R8                  /U-   5        g [        R>                  " SU5        g ! [:         a  n[=        U5      eS nAff = f)Nz7I don't know what to do with 'runtime_library_dirs': %sc0w32c0d32r1   r   z.defEXPORTSz  z=_zwriting r.   z/Lz/L.,z,,)import32cw32mtrT   ) rU   _fix_lib_argsr   warningstrr7   r8   joinrW   r   
EXECUTABLEr$   r#   r!   r    splitsplitextr;   r4   executer   mapr9   normcaser5   find_library_filer:   r<   r   r	   r   rC   ) r%   target_descrG   rZ   r@   	librarieslibrary_dirsruntime_library_dirsexport_symbolsrC   rD   rE   
build_temprY   startup_objld_argsdef_fileheadtailmodnamerM   temp_dircontentssymobjects2	resourcesfilebaseellr   libfilerN   s                                    r*   linkBCPPCompiler.link   sf   & !% 5 5g J:>:L:L%9;
7"6  KKI()
 ! ggll:GO??744i222%"44Q7G"..q1G%"77:G"11!4G %WW]]?;
d!ww//577??71:677<<WIT2BC%;)/R/COObRu$56 0Z(H)=(?TU 277++W5H #mGI  gg..rww/?/?/EFs&=$$T*NN4( ! $BGG$4$4S$9#:;< $NN5! NN7# NNC12NN4   00sEJ?NN3' NN7+ ! NN12 NNC?+NN3NN9%+~.KK89%

DKK=723
 II0/B	 & %n$%s   ;O3 3
P=PPc                    U(       a  US-   nUS-   US-   XB4nOUS-   U4nU Hd  nU H[  n[         R                  R                  X`R                  U5      5      n[         R                  R	                  U5      (       d  MW  Us  s  $    Mf     g )N_d_bcpp)r7   r8   rh   rV   exists)	r%   dirsr   rC   dlib	try_namesdirnamer   s	            r*   ro   BCPPCompiler.find_library_file<  s     :DwBIw,IC!'',,s,A,A$,GH77>>'**"N "  r,   c                    Uc  Sn/ nU GH<  n[         R                  R                  [         R                  R                  U5      5      u  pgXpR                  SS/-   ;  a  [        SU SU S35      eU(       a  [         R                  R                  U5      nUS:X  a3  UR                  [         R                  R                  X6U-   5      5        M  US:X  a4  UR                  [         R                  R                  X6S-   5      5        GM  UR                  [         R                  R                  X6U R                  -   5      5        GM?     U$ )Nr1   r/   r.   zunknown file type 'z	' (from 'z'))
r7   r8   rk   rn   src_extensionsr   basenamer4   rh   obj_extension)r%   source_filenames	strip_dirr@   	obj_namessrc_namer   rM   s           r*   object_filenamesBCPPCompiler.object_filenamesV  s   J	(H''**277+;+;H+EFKT..%@A&)<SE8*TV'WXXww''-f}  j*!EF  j-!HI  jASAS:S!TU ) r,   c                    U R                  S X45      u  psn[        X45      nS/U-   n	Ub  U	R                  SU-   5        U(       a  XYS S& U(       a  U	R                  U5        U	R                  U5        U R                  (       d  Ub  [        X5      (       aH  U(       a.  U R                  [        R                  R                  U5      5         U R                  U	5        g g ! [         a  n
[        U
5        [        U
5      eS n
A
ff = f)Nz	cpp32.exer2   r   )_fix_compile_argsr   r4   r5   r(   r   r:   r7   r8   r;   r<   r	   printr   )r%   sourceoutput_filerA   rB   rD   rE   _rH   pp_argsrN   s              r*   
preprocessBCPPCompiler.preprocessm  s     %)$:$:4$V!L(>-')"NN4+-.'BQKNN>*v
 ::,f0J0JBGGOOK89(

7#	 1K
 & (c
"3''(s   C 
D)C??D)r   r   r   r#   r$   r    r!   r"   r   r   r   )FFF)NNNFNNN)NFN)
NNNNNFNNNN)F)Fr1   )NNNNN)__name__
__module____qualname____firstlineno____doc__compiler_typeexecutablesr=   r>   r   r   static_lib_extensionshared_lib_extensionstatic_lib_formatshared_lib_formatexe_extensionr   rQ   r\   r   ro   r   r   __static_attributes____classcell__)r)   s   @r*   r   r   %   s     M K FM-O #_4NM!!,22)M;4 HZ RVC0 !@CL44 ( (r,   r   )r   r7   warnings_logr   	_modifiedr   	ccompilerr   r   errorsr   r	   r
   r   r   	file_utilr   warnDeprecationWarningr    r,   r*   <module>r      sN    
    8  " 4 	f(9 f(r,   