
    vKg                         S r SSKrSSKJr  SSKJr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\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   )	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                   x   ^  \ rS rSr/ SQr/ SQrS/rS rSU 4S jjrS r	S r
          SU 4S	 jjrS
rU =r$ )zOSCCompilerh   )z.c.C.cc.cxx.cppz.m.s)r   r   r   r   r   c                 V   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         b/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/_distutils/zosccompiler.py_get_zos_compiler_name#zOSCCompiler._get_zos_compiler_namem   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                 |   > [         TU ]  XU5        U R                  5       U l        [        R
                  " U 5        g )N)super__init__r3   zos_compilerr   customize_compiler)r,   verbosedry_runforce	__class__s       r2   r7   zOSCCompiler.__init__   s1    51 779$$T*    c                 6   / 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 ! [         a  n	[        U	5      eS n	A	ff = f)Nz-o)_cpp_extensionscompiler_cxxextend	_cxx_argsr8   _asm_extensionscompiler_so_cc_args	_asm_argsspawnr   r   )
r,   objsrcextcc_argsextra_postargspp_opts
local_argsr1   msgs
             r2   _compilezOSCCompiler._compile   s    
&&&((Hi(9(9:;(((''Hht'8'89:i(9(9:;''Hht'8'89:'"	$JJx,T3/??.PQ! 	$s##	$s   !C> >
DDDc                     SU-   $ )Nz-L )r,   dirs     r2   runtime_library_dir_option'zOSCCompiler.runtime_library_dir_option   s    czr?   c                 r  > [         R                  " S5      n[         R                  (       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)r   get_config_varpython_buildr&   r)   joinexistsappendremoverC   _ld_argsr8   r6   link)r,   target_descobjectsoutput_filename
output_dir	librarieslibrary_dirsruntime_library_dirsexport_symbolsdebugextra_preargsrN   
build_temptarget_lang	ldversionside_deck_pathrV   librarylibrary_side_deckr=   s                      r2   rf   zOSCCompiler.link   so   $ ,,[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: 	
r?   )r8   )FFF)
NNNNNFNNNN)__name__
__module____qualname____firstlineno__src_extensionsrA   rE   r3   r7   rR   rW   rf   __static_attributes____classcell__)r=   s   @r2   r   r   h   sU    DN3OfOF:+
$& !@
 @
r?   r   )__doc__r&    r   errorsr   r   unixccompilerr   rG   rD   rH   re   r   rU   r?   r2   <module>r      s    
  4 (' F' 	F M	 v&6"}
= }
r?   