Ë
    nûàg½  ã                   ó¢   — d Z ddlZddlmZ ddlmZmZ ddlmZ g d¢g d¢g d	¢d
œZ	g d¢g d¢g d¢d
œZ
g d¢g g d
œZg ddgddgd
œZ G d„ de«      Zy)aœ  distutils.zosccompiler

Contains the selection of the c & c++ compilers on z/OS. There are several
different c compilers on z/OS, all of them are optional, so the correct
one needs to be chosen based on the users input. This is compatible with
the following compilers:

IBM C/C++ For Open Enterprise Languages on z/OS 2.0
IBM Open XL C/C++ 1.1 for z/OS
IBM XL C/C++ V2.4.1 for z/OS 2.4 and 2.5
IBM z/OS XL C/C++
é    Né   )Ú	sysconfig)ÚCompileErrorÚDistutilsExecError)ÚUnixCCompiler)z-m64z-fvisibility=defaultz-fzos-le-char-mode=asciiz-fno-short-enums)
ú-q64ú-qexportallú-qasciiú-qstrictú	-qnocsectú-Wa,asa,goffú
-Wa,xplinkú
-qgonumberú
-qenum=intú-Wc,DLL)r   r	   r
   r   r   r   r   r   r   r   z-qlanglvl=extc99)ú
ibm-openxlúibm-xlclangúibm-xlc)r   r	   r
   r   r   r   r   r   r   r   z-qlanglvl=extended0x)z-fasmz-fno-integrated-asz	-Wa,--ASAz
-Wa,--GOFFz-Wl,dllr   c                   óh   ‡ — e Zd Zg d¢Zg d¢ZdgZd„ Zd	ˆ fd„	Zd„ Zd„ Z		 	 	 	 	 	 	 	 	 	 d
ˆ fd„	Z
ˆ xZS )ÚzOSCCompiler)z.cú.Cú.ccú.cxxú.cppz.mú.s)r   r   r   r   r   c                 ó<  — dD �cg c]C  }t         j                  j                  |d «      x}rt         j                  j	                  |«      ‘ŒE }}t        |«      dk(  ryi }dD ]  }d||<   Œ	 dD ]  }d||<   Œ	 dD ]  }d||<   Œ	 |j                  |d   d«      S c c}w )	N)ÚCCÚCXXÚLDSHAREDr   r   )z	ibm-clangzibm-clang64zibm-clang++zibm-clang++64Úclangzclang++zclang-14)Úxlclangz	xlclang++Únjscznjsc++r   )ÚxlcÚxlCzxlc++r   )ÚosÚenvironÚgetÚpathÚbasenameÚlen)ÚselfÚenvvarÚbinaryÚzos_compiler_namesÚzos_compilersÚcompilers         ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/setuptools/_distutils/zosccompiler.pyÚ_get_zos_compiler_namez#zOSCCompiler._get_zos_compiler_namem   s×   € ð 4ö
àÜŸ*™*Ÿ.™.¨°Ó6Ð6�Ð6ô �G‰G×Ñ˜VÕ$ð
Ðð 
ô
 Ð!Ó" aÒ'Øàˆð
ò 		3ˆHð '3ˆM˜(Ò#ð		3ð Cò 	4ˆHØ&3ˆM˜(Ò#ð	4ð 0ò 	0ˆHØ&/ˆM˜(Ò#ð	0ð × Ñ Ð!3°AÑ!6¸ÓEÐEùò5
s   …ABc                 ó|   •— t         ‰| �  |||«       | j                  «       | _        t	        j
                  | «       y )N)ÚsuperÚ__init__r2   Úzos_compilerr   Úcustomize_compiler)r+   ÚverboseÚdry_runÚforceÚ	__class__s       €r1   r5   zzOSCCompiler.__init__Š   s3   ø€ Ü‰Ñ˜ '¨5Ô1Ø ×7Ñ7Ó9ˆÔÜ×$Ñ$ TÕ*ó    c                 ó2  — g }|| j                   v r/| j                  }|j                  t        | j                     «       n�|| j
                  v rQ| j                  }|j                  t        | j                     «       |j                  t        | j                     «       n.| j                  }|j                  t        | j                     «       |j                  |«       	 | j                  ||z   |d|gz   |z   «       y # t        $ r}	t        |	«      ‚d }	~	ww xY w)Nz-o)Ú_cpp_extensionsÚcompiler_cxxÚextendÚ	_cxx_argsr6   Ú_asm_extensionsÚcompiler_soÚ_cc_argsÚ	_asm_argsÚspawnr   r   )
r+   ÚobjÚsrcÚextÚcc_argsÚextra_postargsÚpp_optsÚ
local_argsr0   Úmsgs
             r1   Ú_compilezzOSCCompiler._compile�   sø   € Øˆ
Ø�$×&Ñ&Ñ&Ø×(Ñ(ˆHØ×Ñœi¨×(9Ñ(9Ñ:Õ;Ø�D×(Ñ(Ñ(Ø×'Ñ'ˆHØ×Ñœh t×'8Ñ'8Ñ9Ô:Ø×Ñœi¨×(9Ñ(9Ñ:Õ;à×'Ñ'ˆHØ×Ñœh t×'8Ñ'8Ñ9Ô:Ø×Ñ˜'Ô"ð	$Ø�J‰J�x *Ñ,°°T¸3Ð/?Ñ?À.ÑPÕQøÜ!ò 	$Ü˜sÓ#Ð#ûð	$ús   ÃC= Ã=	DÄDÄDc                 ó   — d|z   S )Nz-L© )r+   Údirs     r1   Úruntime_library_dir_optionz'zOSCCompiler.runtime_library_dir_option¢   s   € Ø�c‰zÐr<   c                 ó.  •— t        j                  d«      }t         j                  r8t        j                  j                  t        j                  d«      d|› d�«      }nKt        j                  j                  t        j                  d«      t        j                  d«      d|› d�«      }t        j                  j                  |«      r|r|j                  |«       n|g}|rw|D ]r  }|d d  D ]h  }t        j                  j                  ||› d�«      }t        j                  j                  |«      sŒF|j                  |«       |j                  |«        Œr Œt |j                  t        | j                     «       t        ‰| �5  |||||||||	|
|||«       y )NÚ	LDVERSIONÚabs_builddirÚ	libpythonz.xÚinstalled_baseÚ
platlibdir)r   Úget_config_varÚpython_buildr%   r(   ÚjoinÚexistsÚappendÚremover@   Ú_ld_argsr6   r4   Úlink)r+   Útarget_descÚobjectsÚoutput_filenameÚ
output_dirÚ	librariesÚlibrary_dirsÚruntime_library_dirsÚexport_symbolsÚdebugÚextra_preargsrK   Ú
build_tempÚtarget_langÚ	ldversionÚside_deck_pathrR   ÚlibraryÚlibrary_side_deckr;   s                      €r1   ra   zzOSCCompiler.link¥   ss  ø€ ô$ ×,Ñ,¨[Ó9ˆ	Ü×!Ò!ÜŸW™WŸ\™\Ü×(Ñ(¨Ó8Ø˜I˜; bÐ)ó‰Nô
  ŸW™WŸ\™\Ü×(Ñ(Ð)9Ó:Ü×(Ñ(¨Ó6Ø˜I˜; bÐ)óˆNô �7‰7�>‰>˜.Ô)ÙØ×%Ñ% nÕ5à"0Ð!1�ñ  Ø+ò �Ø(©˜|ò �GÜ(*¯©¯©°S¸W¸IÀR¸.Ó(IÐ%Ü—w‘w—~‘~Ð&7Õ8Ø!×(Ñ(¨Ô1Ø&×-Ñ-Ð.?Ô@Ùñðð 	×Ñœh t×'8Ñ'8Ñ9Ô:ä‰‰ØØØØØØØ ØØØØØØõ	
r<   )FFF)
NNNNNFNNNN)Ú__name__Ú
__module__Ú__qualname__Úsrc_extensionsr>   rB   r2   r5   rO   rS   ra   Ú__classcell__)r;   s   @r1   r   r   h   sU   ø„ ÚD€NÚ3€OØ�f€OòFõ:+ò
$ò&ð ØØØ!ØØØØØØ÷@
ñ @
r<   r   )Ú__doc__r%   Ú r   Úerrorsr   r   Úunixccompilerr   rD   rA   rE   r`   r   rQ   r<   r1   ú<module>r{      sƒ   ðñó 
å ß 4Ý (òòòñ' €òFòòñ' €	òF MØØñ€	ð Ø˜vÐ&Ø˜6Ð"ñ€ô}
�=õ }
r<   