
    nj}                         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$ )Compilerj   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         a/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/setuptools/_distutils/compilers/C/zos.py_get_zos_compiler_nameCompiler._get_zos_compiler_namey   s     4
3**..666 %BGGV$3 	 

 !"a'
H '3M#
 CH&3M# C 0H&/M# 0   !3A!6EE5
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        OX0R
                  ;   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ht'8'89:i(9(9:;''Hht'8'89:'"	$IIh+sD#.>>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    cz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	$$&&WW\\((8I;b)N
  WW\\(()9:((6I;b)N 77>>.))%%n5"0!1  +(|G(*SWIR.(I%ww~~&788!((1&--.?@  , , 	ht'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NHT#Y-.  ,IOXd3i(H,06OXd3i(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   