Your IP : 18.217.242.39


Current Path : /opt/alt/python311/lib64/python3.11/distutils/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/distutils/__pycache__/unixccompiler.cpython-311.opt-2.pyc

�

ve�f�;���	ddlZddlZddlZddlmZddlmZddlmZm	Z	m
Z
ddlmZm
Z
mZmZddlmZejdkrddlZGd�d	e��ZdS)
�N)�	sysconfig)�newer)�	CCompiler�gen_preprocess_options�gen_lib_options)�DistutilsExecError�CompileError�LibError�	LinkError)�log�darwinc	���eZdZdZddgdgdgddgdgddgdd�Zejdd�d	krd
ged
<gd�ZdZd
Z	dZ
dZdZdxZ
xZZeZejdkrdZ�fd�Z		dd�Zd�Z	d d�Z				d!d�Zd�Zd�Zd�Zd�Zd"d�Z�xZS)#�
UnixCCompiler�unixN�ccz-shared�arz-cr)�preprocessor�compiler�compiler_so�compiler_cxx�	linker_so�
linker_exe�archiver�ranlib�r
r)z.cz.Cz.ccz.cxxz.cppz.mz.oz.az.soz.dylibz.tbdzlib%s%s�cygwinz.exec���	t���|||��\}}}tjd��}|r||vr|�|��|||fS)N�LIBDIR)�super�
_fix_lib_argsr�get_config_var�remove)�self�	libraries�library_dirs�runtime_library_dirs�libdir�	__class__s     ��>/opt/alt/python311/lib64/python3.11/distutils/unixccompiler.pyr zUnixCCompiler._fix_lib_argsUst���5�8=���8M�8M��|�%9�9;�9;�5�	�<�!5��)�(�3�3���	0�V�/C�%C�%C� �'�'��/�/�/��,�(<�<�<�c��|�d||��}|\}}}t||��}	|j|	z}
|r|
�d|g��|r||
dd�<|r|
�|��|
�|��|js|�t
||��rm|r2|�tj	�
|����	|�|
��dS#t$r}t|���d}~wwxYwdS)N�-or)�_fix_compile_argsrr�extend�append�forcer�mkpath�os�path�dirname�spawnrr	)r#�source�output_file�macros�include_dirs�
extra_preargs�extra_postargs�
fixed_args�ignore�pp_opts�pp_args�msgs            r)�
preprocesszUnixCCompiler.preprocess^s;���+�+�D�&�,�G�G�
�'1�$����(���>�>���#�g�-���	0��N�N�D�+�.�/�/�/��	(�'�G�B�Q�B�K��	+��N�N�>�*�*�*����v�����:�	(��,��f�k�0J�0J�,��
:����B�G�O�O�K�8�8�9�9�9�
(��
�
�7�#�#�#�#�#��%�
(�
(�
(�"�3�'�'�'�����
(����-�,s�C+�+
D	�5D�D	c���|j}tjdkrtj|||z��}	|�||z|d|gz|z��dS#t$r}t|���d}~wwxYw)Nr
r,)r�sys�platform�_osx_support�compiler_fixupr5rr	)	r#�obj�src�ext�cc_argsr;r>rr@s	         r)�_compilezUnixCCompiler._compilexs����&���<�8�#�#�&�5�k�4;�n�4L�N�N�K�	$��J�J�{�W�,��T�3�/?�?�%�&�
'�
'�
'�
'�
'��!�	$�	$�	$��s�#�#�#�����	$���s�!A�
A2�A-�-A2rc��|�||��\}}|�||���}|�||��r�|�tj�|����|�|j|gz|z|j	z��|j
rB	|�|j
|gz��dS#t$r}t|���d}~wwxYwdStjd|��dS)N)�
output_dir�skipping %s (up-to-date))�_fix_object_args�library_filename�
_need_linkr1r2r3r4r5r�objectsrrr
r�debug)r#rR�output_libnamerMrS�target_lang�output_filenamer@s        r)�create_static_libzUnixCCompiler.create_static_lib�s,��"�3�3�G�Z�H�H����
�!�!�.�Z�!�H�H�	��?�?�7�O�4�4�	C��K�K������8�8�9�9�9��J�J�t�}�'�(�)���!%��.�
/�
/�
/��{�
(�(��J�J�t�{�o�->�>�?�?�?�?�?��)�(�(�(�"�3�-�-�'�����(����
(�
(�
�I�0�/�B�B�B�B�Bs�*C
�

C(�C#�#C(c��|�||��\}}|�|||��}|\}}}t||||��}t|ttd��f��st
d���|� tj�	||��}|�
||���r�||jz|zd|gz}|	rdg|dd�<|
r|
|dd�<|r|�|��|�
tj�|����	|tjkr|jdd�}n|jdd�}|
dkr�|jr�d}tj�|d��dkrd}d||vr|dz
}d||v�tj�||��d	krd}nd}|j||||z<t*jd
krt/j||��}|�||z��dS#t4$r}t7|���d}~wwxYwt9jd|��dS)Nz%'output_dir' must be a string or Noner,z-grzc++�env��=�	ld_so_aixr
rN)rOr r�
isinstance�str�type�	TypeErrorr2r3�joinrQrRr.r1r4r�
EXECUTABLErrr�basenamerCrDrErFr5rrrrS)r#�target_descrRrVrMr$r%r&�export_symbolsrSr:r;�
build_temprUr<�lib_opts�ld_args�linker�i�offsetr@s                     r)�linkzUnixCCompiler.link�s���
#�3�3�G�Z�H�H�����'�'�	�<�(<�>�>�
�8B�5�	�<�!5�"�4��7K�#,�.�.���*�s�D��J�J�&7�8�8�	E��C�D�D�D��!� �g�l�l�:��G�G�O��?�?�7�O�4�4�+	C����-�� �#'��"9�:�G��
%�#�f�������
,�+�������
/����~�.�.�.��K�K������8�8�9�9�9�
%��)�"6�6�6�!�_�Q�Q�Q�/�F�F�!�^�A�A�A�.�F��%�'�'�D�,=�'��A��w�'�'��q�	�2�2�e�;�;���!�V�A�Y�.�.���F�A�"�V�A�Y�.�.��w�'�'��q�	�2�2�k�A�A�"#���!"��'+�'8��';�F�1�V�8�$��<�8�+�+�)�8���I�I�F��
�
�6�G�+�,�,�,�,�,��%�
%�
%�
%���n�n�$�����
%����
�I�0�/�B�B�B�B�Bs�$DH&�&
I�0H?�?Ic��d|zS)N�-L�)r#�dirs  r)�library_dir_optionz UnixCCompiler.library_dir_option�����c�z�r*c�:��t�fd�dD����S)Nc3� �K�|]}|�vV��	dS)Nro)�.0�name�
compiler_names  �r)�	<genexpr>z(UnixCCompiler._is_gcc.<locals>.<genexpr>�s(�����M�M�T�4�=�(�M�M�M�M�M�Mr*)�gcczg++�clang)�any)r#rws `r)�_is_gcczUnixCCompiler._is_gcc�s'����M�M�M�M�5L�M�M�M�M�M�Mr*c���tj�tjd����}t
jdd�dkrd|zSt
jdd�dkrd|zSt
jdd�d	kr#|�|��rd
d|zgSdd|zgS|�|��r"tjd��d
krd|zSd|zSd|zS)N�CCrr
rn��freebsdz-Wl,-rpath=�zhp-uxz-Wl,+sz+s�GNULD�yesz-Wl,--enable-new-dtags,-Rz-Wl,-Rz-R)r2r3rcrr!rCrDr|)r#rprs   r)�runtime_library_dir_optionz(UnixCCompiler.runtime_library_dir_option�s����7�#�#�I�$<�T�$B�$B�C�C���<�����x�'�'��#�:��
�\�"�1�"�
��
*�
*� �3�&�&�
�\�"�1�"�
��
(�
(��|�|�H�%�%�
.� �$��*�-�-��$��*�%�%��|�|�H�%�%�
"�
�+�G�4�4��=�=�7��<�<�#�c�>�)�
�c�z�!r*c��d|zS)Nz-lro)r#�libs  r)�library_optionzUnixCCompiler.library_optionrrr*c��|�|d���}|�|d���}|�|d���}|�|d���}tjdkrgtjd��}tjd|��}	|	�'tjtjd	����}
n|	�	d
��}
|D�]}tj�||��}tj�||��}
tj�||��}tj�||��}tjdkr�|�
d��s*|�
d��r�|�
d
��s�tj�|
|d
d�|��}tj�|
|d
d�|��}
tj�|
|d
d�|��}tj�|
|d
d�|��}tj�|
��r|
cStj�|��r|cStj�|��r|cStj�|��r|cS��dS)N�shared)�lib_type�dylib�
xcode_stub�staticr
�CFLAGSz-isysroot\s*(\S+)r~rZz/System/z/usr/z/usr/local/)rPrCrDrr!�re�searchrE�_default_sysroot�groupr2r3ra�
startswith�exists)r#�dirsr�rS�shared_f�dylib_f�xcode_stub_f�static_f�cflags�m�sysrootrpr�r�r�r�s                r)�find_library_filezUnixCCompiler.find_library_files~���(�(��x�(�@�@���'�'��g�'�>�>���,�,�S�<�,�H�H���(�(��x�(�@�@���<�8�#�#�&�-�h�7�7�F��	�.��7�7�A��y�&�7�	�8P�QU�8V�8V�W�W����'�'�!�*�*���	�	�C��W�\�\�#�x�0�0�F��G�L�L��g�.�.�E��W�\�\�#�x�0�0�F�����c�<�8�8�J��|�x�'�'����z�*�*�(����w�'�'�(�03���}�0M�0M�(�����g�s�1�2�2�w��A�A������W�c�!�"�"�g�w�?�?������g�s�1�2�2�w��A�A���W�\�\�'�3�q�r�r�7�L�I�I�
��w�~�~�e�$�$�
���������
�+�+�
�!�!�!�!������'�'�
��
�
�
������'�'�
��
�
�
�
��tr*)NNNNN)NrN)
NNNNNrNNNN)r)�__name__�
__module__�__qualname__�
compiler_type�executablesrCrD�src_extensions�
obj_extension�static_lib_extension�shared_lib_extension�dylib_lib_extension�xcode_stub_lib_extension�static_lib_format�shared_lib_format�dylib_lib_format�xcode_stub_lib_format�
exe_extensionr rArKrWrlrqr|r�r�r��
__classcell__)r(s@r)rr-s���������M�%)�%)�F�%)�F�%)�F�%)�9�$5�%)�F�%)�5�M�$(���K��|�B�Q�B��8�#�#�!)�
��H��:�9�9�N��M��� ��"��%��?H�H��H�)�,<�,��
�|�x����
�=�=�=�=�=�;?�IM�(�(�(�(�4	$�	$�	$�AE�C�C�C�C�6:>�59�9=�?C�	<C�<C�<C�<C�D���N�N�N�("�("�("�T���?�?�?�?�?�?�?�?r*r)r2rCr��	distutilsr�distutils.dep_utilr�distutils.ccompilerrrr�distutils.errorsrr	r
rrrDrError*r)�<module>r�s+��
�������������������$�$�$�$�$�$�8�8�8�8�8�8�8�8�8�8�;�;�;�;�;�;�;�;�;�;�;�;��������<�8�������$e�e�e�e�e�I�e�e�e�e�er*

?>