OwlCyberSecurity - MANAGER
Edit File: build_clib.cpython-38.opt-2.pyc
U ����e5dV����������������������@���sP���d�dl�Z�d�dlmZ�d�dlT�d�dlmZ�d�dlmZ�dd��ZG�dd ��d e�Z dS�) �����N)�Command)�*)�customize_compiler)�logc������������������C���s���ddl�m}��|����d�S�)Nr�����show_compilers)�distutils.ccompilerr���r�����r ����4/usr/lib64/python3.8/distutils/command/build_clib.pyr������s����r���c�������������������@���sl���e�Zd�ZdZdddddgZddgZd d defgZdd ��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zd S�)� build_clibz/build C/C++ libraries used by Python extensions)zbuild-clib=�bz%directory to build C/C++ libraries to)zbuild-temp=�tz,directory to put temporary build by-products)�debug�gz"compile with debugging information)�force�fz2forcibly build everything (ignore file timestamps))z compiler=�czspecify the compiler typer���r���z help-compilerNzlist available compilersc�����������������C���s:���d�|�_�d�|�_d�|�_d�|�_d�|�_d�|�_d�|�_d|�_d�|�_d�S�)Nr���) r���� build_temp� libraries�include_dirs�define�undefr���r����compiler��selfr ���r ���r ����initialize_options4���s����zbuild_clib.initialize_optionsc�����������������C���sh���|���dddddd��|�jj|�_|�jr0|��|�j��|�jd�krH|�jjpDg�|�_t|�jt�rd|�j�tj �|�_d�S�)NZbuild)r���r���)r���r���)r���r���)r���r���)r���r���) Zset_undefined_optionsZdistributionr����check_library_listr���� isinstance�str�split�os�pathsepr���r ���r ���r ����finalize_optionsD���s����� zbuild_clib.finalize_optionsc�����������������C���s����|�j�s d�S�ddlm}�||�j|�j|�jd�|�_t|�j��|�jd�k rN|�j�|�j��|�j d�k rv|�j D�]\}}|�j� ||��q^|�jd�k r�|�jD�]}|�j�|��q�|�� |�j���d�S�)Nr���)�new_compiler)r����dry_runr���)r���r���r#���r���r$���r���r���r���Zset_include_dirsr���Zdefine_macror���Zundefine_macro�build_libraries)r���r#����name�valueZmacror ���r ���r ����run^���s"����� zbuild_clib.runc�����������������C���s����t�|t�std��|D�]z}t�|t�s8t|�dkr8td��|\}}t�|t�sRtd��d|ksntjdkr~tj|kr~td|d����t�|t�std��qd�S�) Nz+'libraries' option must be a list of tuples����z*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)�/z;bad library name '%s': may not contain directory separatorsr���zMsecond element of each tuple in 'libraries' must be a dictionary (build info)) r����list�DistutilsSetupError�tuple�lenr���r ����sep�dict)r���r����libr&���� build_infor ���r ���r ���r���v���s,���� �� �� �zbuild_clib.check_library_listc�����������������C���s,���|�j�s d�S�g�}|�j�D�]\}}|�|��q|S�)N)r����append)r���Z lib_names�lib_namer2���r ���r ���r ����get_library_names����s����zbuild_clib.get_library_namesc�����������������C���sZ���|���|�j��g�}|�jD�]>\}}|�d�}|d�ks>t|ttf�sJtd|���|�|��q|S�)N�sources�fin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)r���r����getr���r+���r-���r,����extend)r���� filenamesr4���r2���r6���r ���r ���r ����get_source_files����s���� ��zbuild_clib.get_source_filesc�����������������C���s����|D�]�\}}|��d�}|d�ks,t|ttf�s8td|���t|�}t�d|��|��d�}|��d�}|�jj||�j |||�j d�}|�jj|||�j|�j d��qd�S�)Nr6���r7���zbuilding '%s' library�macrosr���)� output_dirr<���r���r���)r=���r���) r8���r���r+���r-���r,���r����infor����compiler���r���Zcreate_static_libr���)r���r���r4���r2���r6���r<���r���Zobjectsr ���r ���r ���r%�������s,���� �� � �zbuild_clib.build_libraries)�__name__� __module__�__qualname__ZdescriptionZuser_optionsZboolean_optionsr���Zhelp_optionsr���r"���r(���r���r5���r;���r%���r ���r ���r ���r ���r������s(���� ���$r���) r ���Zdistutils.corer���Zdistutils.errorsZdistutils.sysconfigr���Z distutilsr���r���r���r ���r ���r ���r ����<module>���s���