← Back
Editing: toolchain.cpython-311.pyc
� cR�a�G � � � d Z ddlmZmZ ddlmZ ddlmZmZm Z m Z ddlmZmZm Z mZ ddlmZ ddlmZmZ ddlmZmZ dd lmZ dd lmZ ddlmZ ddlmZ dd lmZ ddl m!Z!m"Z" ddl m#Z# ddl$m%Z%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6m7Z7 ddl8Z9ddl:Z:ddl;Z<ddl=Z=ddl>Z>ddl?Z?ddl@mAZA ddlBZB e:jC d� � ZDd� ZEd� ZFd� ZGd� ZH d(d �ZId)d!�ZJ d(d"�ZKd*d#�ZLd+d$�ZM d,d%�ZN d-d&�ZOd'� ZPdS ).z� This module contains all the stuff to make your way from python code to a dynamic library, see __init__.py for exported interfaces. � )�Cxx�Python)�cfg)�PythonModule�Include�Line� Statement)�FunctionBody�FunctionDeclaration�Value�Block)�ReturnStatement)�PythranExtension�PythranBuildExt)�refine�mark_unexported_functions)�PassManager)�pythran_ward)�tog)�pytype_to_deps��pytype_to_ctype)� load_specfile�Spec)�spec_to_string)�check_specs� check_exports�PythranSyntaxError)�__version__)�cxxidN)�datetime)�CompileError)� sysconfig)�setup)�mkdtemp�NamedTemporaryFile)�reduce�pythranc �X � t � � }| j � � � D ].}|D ])}|D ]$}|� t |� � � � �%�*�/| j � � � D ])}|D ]$}|� t |� � � � �%�*t |d� �� � S )zD Extract types dependencies from specs for each exported signature. c � � d| vS )N�include� )�xs �3/usr/lib/python3/dist-packages/pythran/toolchain.py�<lambda>z-_extract_specs_dependencies.<locals>.<lambda>; s � �i�q�&8� � )�key)�set� functions�values�updater �capsules�sorted)�specs�deps� signatures� signature�ts r. �_extract_specs_dependenciesr= + s� � ��5�5�D��o�,�,�.�.� /� /� �#� /� /�I�� /� /�����N�1�-�-�.�.�.�.� /� /� �^�*�*�,�,� +� +� �� +� +�A��K�K��q�)�)�*�*�*�*� +� �$�8�8�9�9�9�9r0 c �� � | � d� � }t |� � dk rddg|z }t t |dd� t |d � � � � S )zqTurns an optimization of the form my_optim my_package.my_optim into the associated symbol�.� r( � optimizationsNr )�split�lenr'