Your IP : 3.141.201.92
o
6��f:� � @ s� d Z ddlZddlZddlZddlT ddlmZ ddlmZ ddl m
Z
ddlmZ ddl
mZmZ dd lmZ G d
d� d�ZdZdd
d�Zdddddd�Zdd� Zddd�Zdd� Zdd� ZdS )z�distutils.ccompiler
Contains CCompiler, an abstract base class that defines the interface
for the Distutils compiler abstraction model.� N)�*)�spawn)� move_file)�mkpath)�newer_group)�split_quoted�execute)�logc @ sd e Zd ZdZdZdZdZdZdZdZ dZ
dZdddddd�Zg d�Z
drd d
�Zdd� Zd
d� Zdd� Zdd� Zdsdd�Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Z d/d0� Z!dsd1d2�Z"d3d4� Z#d5d6� Z$d7d8� Z%d9d:� Z& dtd;d<�Z' dud=d>�Z(d?d@� Z) dvdAdB�Z*dCZ+dDZ,dEZ- dwdFdG�Z. dwdHdI�Z/ dwdJdK�Z0 dxdLdM�Z1dNdO� Z2dPdQ� Z3dRdS� Z4 dydTdU�Z5dzdVdW�Z6d{dYdZ�Z7d{d[d\�Z8d{d]d^�Z9 _ Xd|d`da�Z:d}dcdd�Z;dedf� Z<dgdh� Z=d~didj�Z>dkdl� Z?dmdn� Z@ddpdq�ZAdS )�� CCompilera� Abstract base class to define the interface that must be implemented
by real compiler classes. Also has some utility methods used by
several compiler classes.
The basic idea behind a compiler abstraction class is that each
instance can be used for all the compile/link steps in building a
single project. Thus, attributes common to all of those compile and
link steps -- include directories, macros to define, libraries to link
against, etc. -- are attributes of the compiler instance. To allow for
variability in how individual files are treated, most of those
attributes may be varied on a per-compilation or per-link basis.
N�c�c++�objc)�.cz.ccz.cppz.cxxz.m)r r
r r c C sb || _ || _|| _d | _g | _g | _g | _g | _g | _g | _ | j
�� D ]}| �|| j
| � q#d S �N)
�dry_run�force�verbose�
output_dir�macros�include_dirs� libraries�library_dirs�runtime_library_dirs�objects�executables�keys�set_executable)�selfr r r �key� r �:/opt/alt/python310/lib64/python3.10/distutils/ccompiler.py�__init__U s �zCCompiler.__init__c K s<