????

Your IP : 18.116.14.214


Current Path : /lib/python3.10/distutils/__pycache__/
Upload File :
Current File : //lib/python3.10/distutils/__pycache__/bcppcompiler.cpython-310.pyc

o

��bc.:�@spdZddlZddlmZmZmZmZmZddlm	Z	m
Z
ddlmZddl
mZddlmZGdd	�d	e	�ZdS)
z�distutils.bcppcompiler

Contains BorlandCCompiler, an implementation of the abstract CCompiler class
for the Borland C++ compiler.
�N)�DistutilsExecError�CompileError�LibError�	LinkError�UnknownFileError)�	CCompiler�gen_preprocess_options)�
write_file)�newer)�logc@s�eZdZdZdZiZdgZgd�ZeeZdZ	dZ
dZdZZ
d	Z	
	
	
ddd�Z	
	
ddd�Z	
	
	
ddd�Z	
	
	
	
	
	
	
	
	
	
ddd�Zddd�Z	
	d dd�Z	
	
	
	
	
d!dd�Zd
S)"�BCPPCompilerzConcrete class that implements an interface to the Borland C/C++
    compiler, as defined by the CCompiler abstract class.
    �bcppz.c)z.ccz.cppz.cxxz.objz.libz.dllz%s%sz.exercCsnt�||||�d|_d|_d|_d|_gd�|_gd�|_gd�|_gd�|_	g|_
gd�|_gd�|_dS)	Nz	bcc32.exezilink32.exeztlib.exe)�/tWMz/O2�/q�/g0)rz/Odrr)z/Tpd�/Gnr�/x)rrr)rrrz/r)
r�__init__�cc�linker�lib�preprocess_options�compile_options�compile_options_debug�ldflags_shared�ldflags_shared_debug�ldflags_static�ldflags_exe�ldflags_exe_debug)�self�verbose�dry_run�force�r#�-/usr/lib/python3.10/distutils/bcppcompiler.pyr5s




zBCPPCompiler.__init__Nc	Csn|�||||||�\}}	}}
}|pg}|�d�|r!|�|j�n|�|j�|	D]�}
z||
\}}Wn	ty<Yq)wtj�|�}tj�|
�}
|�	tj�
|
��|dkrWq)|dkrxz|�dd|
|g�Wntyv}zt
|��d}~wwq)||jvr�d}n
||jvr�d}nd}d|
}z|�|jg||
||g||g�Wq)ty�}zt
|��d}~ww|	S)	Nz-c�.res�.rc�brcc32z-fo�z-P�-o)�_setup_compile�append�extendrr�KeyError�os�path�normpath�mkpath�dirname�spawnrr�
_c_extensions�_cpp_extensionsr)r�sources�
output_dir�macros�include_dirs�debug�
extra_preargs�extra_postargs�depends�objects�pp_opts�build�compile_opts�obj�src�ext�msg�	input_opt�
output_optr#r#r$�compileQs^��
���

��
���zBCPPCompiler.compilec	
Cs�|�||�\}}|j||d�}|�||�r;|dg|}|r	z|�|jg|�WdSty:}zt|��d}~wwt�d|�dS)N)r7z/u�skipping %s (up-to-date))	�_fix_object_args�library_filename�
_need_linkr3rrrrr:)	rr>�output_libnamer7r:�target_lang�output_filename�lib_argsrEr#r#r$�create_static_lib�s���zBCPPCompiler.create_static_libc 
Cs�|�||�\}}|�|||�\}}}|rt�dt|��|dur'tj�||�}|�||��ra|t	j
krGd}|	r?|jdd�}n|jdd�}nd}|	rS|j
dd�}n|jdd�}|durad}n?tj�|�\}}tj�|�\}}tj�|d�}tj�|d|�}dg}|p�gD]}|�d||f�q�|�t||fd	|�ttjj|�}|g}g}|D]}tj�tj�|��\}}|d
kr�|�|�q�|�|�q�|D]
}|�dtj�|��q�|�d�|�|�|�d
|g�|�d�|D]}|�|||	�}|du�r|�|�q�|�|�q�|�d�|�d�|�d
|g�|�d
�|�|�|
�r2|
|dd�<|�r:|�|�|�tj�|��z|�|jg|�WdSt�y`}zt|��d}~wwt�d|�dS)Nz7I don't know what to do with 'runtime_library_dirs': %s�c0w32�c0d32r(rz%s.def�EXPORTSz  %s=_%sz
writing %sr%z/L%sz/L.�,z,,�import32�cw32mtrI) rJ�
_fix_lib_argsr�warn�strr.r/�joinrLr�
EXECUTABLErrrr�split�splitextr2r+�executer	�mapr0�normcaser,�find_library_filer1r3rrrr:) r�target_descr>rOr7�	libraries�library_dirs�runtime_library_dirs�export_symbolsr:r;r<�
build_temprN�startup_obj�ld_args�def_file�head�tail�modnamerD�temp_dir�contents�sym�objects2�	resources�file�base�lr�libfilerEr#r#r$�link�s���
�








��zBCPPCompiler.linkc	Csr|r|d}|d|d||f}n|d|f}|D]}|D]}tj�||�|��}tj�|�r5|SqqdS)N�_d�_bcpp)r.r/r[rK�exists)	r�dirsrr:�dlib�	try_names�dir�namerwr#r#r$rb4s
��zBCPPCompiler.find_library_filer(cCs�|durd}g}|D]V}tj�tj�|��\}}||jddgvr)td||f��|r1tj�|�}|dkrB|�tj�|||��q
|dkrS|�tj�||d��q
|�tj�|||j	��q
|S)Nr(r&r%z"unknown file type '%s' (from '%s'))
r.r/r^ra�src_extensionsr�basenamer+r[�
obj_extension)r�source_filenames�	strip_dirr7�	obj_names�src_namerurDr#r#r$�object_filenamesNs$��zBCPPCompiler.object_filenamesc
Cs�|�d||�\}}}t||�}dg|}	|dur|	�d|�|r'||	dd�<|r.|	�|�|	�|�|js?|dus?t||�rg|rJ|�tj�	|��z|�
|	�WdStyf}
zt|
�t
|
��d}
~
wwdS)Nz	cpp32.exer)r)�_fix_compile_argsrr+r,r"r
r1r.r/r2r3r�printr)r�source�output_filer8r9r;r<�_r?�pp_argsrEr#r#r$�
preprocessis,	�



���zBCPPCompiler.preprocess)rrr)NNNrNNN)NrN)
NNNNNrNNNN)r)rr()NNNNN)�__name__�
__module__�__qualname__�__doc__�
compiler_type�executablesr4r5r�r��static_lib_extension�shared_lib_extension�static_lib_format�shared_lib_format�
exe_extensionrrHrQrxrbr�r�r#r#r#r$rsZ
�
�D
�
�


��r)r�r.�distutils.errorsrrrrr�distutils.ccompilerrr�distutils.file_utilr	�distutils.dep_utilr
�	distutilsrrr#r#r#r$�<module>s

Page not found | The NCLEX Doctor

Page not found!

Sorry, this page is not available...