HEX
Server: Apache/2.4.65 (Debian)
System: Linux kubikelcreative 5.10.0-35-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64
User: www-data (33)
PHP: 8.4.13
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/gyp/__pycache__/ninja_syntax.cpython-39.pyc
a

r�^M�@s8dZddlZddlZdd�ZGdd�de�Zdd�ZdS)	z�Python module for generating .ninja files.

Note that this is emphatically not a required piece of Ninja; it's
just a helpful utility for build-file-generation systems that already
use Python.
�NcCs|�dd��dd��dd�S)Nz$ z$$ � �:z$:��replace)Zword�r�2/usr/lib/python3/dist-packages/gyp/ninja_syntax.py�escape_pathsrc@s~eZdZddd�Zdd�Zdd�Zd d	d
�Zdd�Zd!dd�Zd"dd�Z	dd�Z
dd�Zdd�Zdd�Z
d#dd�Zdd�Zd
S)$�Writer�NcCs||_||_dS�N)�output�width)�selfrr
rrr�__init__szWriter.__init__cCs|j�d�dS)N�
)r�write)rrrr�newlineszWriter.newlinecCs0t�||jd�D]}|j�d|d�qdS)N�z# r)�textwrapZwrapr
rr)r�text�linerrr�commentszWriter.commentrcCs>|durdSt|t�r&d�td|��}|�d||f|�dS)Nrz%s = %s)�
isinstance�list�join�filter�_line)r�key�value�indentrrr�variables

zWriter.variablecCs"|�d|�|jd|dd�dS)Nzpool %s�depth��r�rr )r�namer!rrr�pool%szWriter.poolNFcCs�|�d|�|jd|dd�|r2|jd|dd�|rF|jd|dd�|rZ|jdddd�|rn|jd	|dd�|r�|jd
ddd�|r�|jd|dd�|	r�|jd|	dd�|
r�|jd
|
dd�dS)Nzrule %s�commandr"r#�description�depfile�	generator�1r&�restat�rspfile�rspfile_content�depsr$)rr%r'r(r)r*r&r,r-r.r/rrr�rule)s$zWriter.rulecCs�|�|�}|�|�dd�}ttt|��}ttt|��}|r`tt|�|��}|�d�|�|�|r�tt|�|��}|�d�|�|�|�dd�|�d�|g|�f�|r�t|t	�r�t
|���}	nt
|�}	|	D]\}
}|j|
|dd�q�|S)N�|z||zbuild %s: %srr"r#)
�_as_listr�mapr�append�extendrrr�dict�iter�itemsr )rZoutputsr0ZinputsZimplicitZ
order_onlyZ	variablesZ
all_inputsZout_outputs�iteratorr�valrrr�build?s,




�
zWriter.buildcCs|�d|�dS)Nz
include %s�r�r�pathrrr�include]szWriter.includecCs|�d|�dS)Nzsubninja %sr<r=rrr�subninja`szWriter.subninjacCs|�dd�|�|���dS)Nz
default %sr)rrr2)r�pathsrrr�defaultcszWriter.defaultcCs6d}|d}|dkr2||dkr2|d7}|d8}q|S)z<Returns the number of '$' characters right in front of s[i].rr"�$r)r�s�iZdollar_countZdollar_indexrrr�_count_dollars_before_indexfs
z"Writer._count_dollars_before_indexcCsd|}t|�t|�|jkr�|jt|�td�}|}|�dd|�}|dksf|�||�ddkr8qfq8|dkr�|d}|�d|d�}|dks�|�||�ddkrvq�qv|dkr�q�|j�||d|�d�||dd�}d|d}q|j�||d	�dS)
z3Write 'text' word-wrapped at self.width characters.z  z $rrrr"z $
Nr)�lenr
�rfindrF�findrr)rrrZ
leading_spaceZavailable_spaceZspacerrrros,��zWriter._linecCsL|durgSt|t�r|Szt|t�r0t|�WSWntyDYn0|gSr)rrr3�	TypeError)r�inputrrrr2�s

zWriter._as_list)r
)r)NNFNFNNN)NNNN)r)�__name__�
__module__�__qualname__rrrr r&r0r;r?r@rBrFrr2rrrrr	s$

�
�
	
$r	cCsd|vsJd��|�dd�S)zbEscape a string such that it can be embedded into a Ninja file without
    further interpretation.rz$Ninja syntax does not allow newlinesrCz$$r)�stringrrr�escape�srP)�__doc__r�rer�objectr	rPrrrr�<module>s