ó
    Lƒwj}  ã                   óÂ   • S r SSKrSSKrSSKrSSKJr  SSKJr  SSKJ	r	  / SQ/ SQ/ S	QS
.r
/ SQ/ SQ/ SQS
.r/ SQ/ / S
.r/ SS/SS/S
.r " S S\R                  5      rg)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)ÚClassVaré   )Úunix)ÚCompileError)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                   óÊ   ^ • \ rS rSr% SrSr/ SQr\\\	   S-     \
S'   / SQr\\\	      \
S'   S	/r\\\	      \
S
'   S rSU 4S jjrS rS r          SU 4S jjrSrU =r$ )ÚCompileréj   ÚzoszIBM XL C/C++ Compilers)z.cú.Cú.ccú.cxxú.cppz.mú.sNÚsrc_extensions)r   r   r   r   Ú_cpp_extensionsr   Ú_asm_extensionsc                 óX  • S Vs/ s HK  n[         R                  R                  US 5      =n(       d  M,  [         R                  R	                  U5      PMM     nn[        U5      S:X  a  g0 nS H  nSXE'   M	     S H  nSXE'   M	     S H  nSXE'   M	     UR                  US   S5      $ s  snf )	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         Ú³C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\setuptools/_distutils/compilers/C/zos.pyÚ_get_zos_compiler_nameÚCompiler._get_zos_compiler_namey   sÇ   € ñ 4ó
â3�ÜŸ*™*Ÿ.™.¨°Ó6Ð6�Ó6ó %ŒB�G‰G×Ñ˜VÖ$Ù3ð 	ð 
ô
 Ð!Ó" aÓ'Øàˆó
ˆHð '3ˆMÓ#ñ
ó CˆHØ&3ˆMÓ#ñ Có 0ˆHØ&/ˆMÓ#ñ 0ð × Ñ Ð!3°AÑ!6¸ÓEÐEùò5
s
   …+B'´#B'c                 ój   >• [         TU ]  XS9  U R                  5       U l        U R	                  5         g )N)Úforce)ÚsuperÚ__init__r6   Úzos_compilerÚconfigure_system)r/   Úverboser9   Ú	__class__s      €r5   r;   ÚCompiler.__init__–   s0   ø€ Ü‰Ñ˜ÐÑ.Ø ×7Ñ7Ó9ˆÔØ×ÑÕó    c                 óV  • / nX0R                   ;   a/  U R                  nUR                  [        U R                     5        OŽX0R
                  ;   aQ  U R                  nUR                  [        U R                     5        UR                  [        U R                     5        O.U R                  nUR                  [        U R                     5        UR                  U5         U R                  X‡-   USU/-   U-   5        g ! [        R                  [        4 a  n	[        U	5      eS n	A	ff = f)Nz-o)r   Úcompiler_cxxÚextendÚ	_cxx_argsr<   r   Úcompiler_soÚ_cc_argsÚ	_asm_argsÚcallÚ
subprocessÚCalledProcessErrorÚOSErrorr   )
r/   ÚobjÚsrcÚextÚcc_argsÚextra_postargsÚpp_optsÚ
local_argsr4   Úmsgs
             r5   Ú_compileÚCompiler._compile›   sý   € Øˆ
Ø×&Ñ&Ó&Ø×(Ñ(ˆHØ×Ñœi¨×(9Ñ(9Ñ:Õ;Ø×(Ñ(Ó(Ø×'Ñ'ˆHØ×Ñœh t×'8Ñ'8Ñ9Ô:Ø×Ñœi¨×(9Ñ(9Ñ:Õ;à×'Ñ'ˆHØ×Ñœh t×'8Ñ'8Ñ9Ô:Ø×Ñ˜'Ô"ð	$Ø�I‰I�hÑ+¨s°D¸#Ð.>Ñ>ÀÑOÕPøÜ×-Ñ-¬wÐ7ó 	$Ü˜sÓ#Ð#ûð	$ús   Ã!C> Ã>D(ÄD#Ä#D(c                 ó   • SU-   $ )Nz-L© )r/   Údirs     r5   Úruntime_library_dir_optionÚ#Compiler.runtime_library_dir_option®   s   € Ø�c‰zÐrA   c                 ó|  >• [         R                  " S5      n[         R                  " 5       (       a9  [        R                  R                  [         R                  " S5      SU S35      nOM[        R                  R                  [         R                  " S5      [         R                  " S5      SU S35      n[        R                  R                  U5      (       a  U(       a  UR                  U5        OU/nU(       a�  U H{  nUS S   Ho  n[        R                  R                  UU S35      n[        R                  R                  U5      (       d  ML  UR                  U5        UR                  U5          My     M}     UR                  [        U R                     5        [        TU ]5  UUUUUUUUU	U
UUU5        g )NÚ	LDVERSIONÚabs_builddirÚ	libpythonz.xÚinstalled_baseÚ
platlibdir)Ú	sysconfigÚget_config_varÚis_python_buildr)   r,   ÚjoinÚexistsÚappendÚremoverD   Ú_ld_argsr<   r:   Úlink)r/   Útarget_descÚobjectsÚoutput_filenameÚ
output_dirÚ	librariesÚlibrary_dirsÚruntime_library_dirsÚexport_symbolsÚdebugÚextra_preargsrQ   Ú
build_tempÚtarget_langÚ	ldversionÚside_deck_pathrY   ÚlibraryÚlibrary_side_deckr?   s                      €r5   rj   ÚCompiler.link±   su  ø€ ô$ ×,Ò,¨[Ó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Ó8Ø!×(Ñ(¨Ô1Ø&×-Ñ-Ð.?Ô@Úó  ,ñ ,ð 	×Ñœh t×'8Ñ'8Ñ9Ô:ä‰‰ØØØØØØØ ØØØØØØõ	
rA   )r<   )FF)
NNNNNFNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úcompiler_typeÚdescriptionr   r   ÚlistÚstrÚ__annotations__r   r   r6   r;   rU   rZ   rj   Ú__static_attributes__Ú__classcell__)r?   s   @r5   r   r   j   s•   ø‡ Ø€MØ*€Kò2€N�H˜T #™Y¨Ñ-Ñ.ó ò ,I€O�X˜d 3™iÑ(ÓHØ,0¨6€O�X˜d 3™iÑ(Ó1òF÷: ò
$ò&ð ØØØ!ØØØØØØ÷@
õ @
rA   r   )Ú__doc__r)   rJ   rb   Útypingr   Ú r   Úerrorsr   rG   rE   rH   ri   r   rX   rA   r5   Ú<module>r‹      s�   ðñó 
Û Û Ý å Ý  òòòñ' €òFòòñ' €	òF MØØñ€	ð Ø˜vÐ&Ø˜6Ð"ñ€ôG
ˆt�}‰}õ G
rA   