HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1991111/cwd/usr/lib/python3/dist-packages/gyp/__pycache__/
Upload File :
Current File : //proc/1991111/cwd/usr/lib/python3/dist-packages/gyp/__pycache__/MSVSUtil.cpython-311.pyc
�

�"Kb`%��T�dZddlZddlZdddddd�Zd�Zd	�Zd
�Zd�Zd�Zd
�Z	d�Z
dS)z8Utility functions shared amongst the Windows generators.�N�exe�dll�lib�sys)�
executable�loadable_module�shared_library�static_library�windows_driverc��tj�tj�t����}tj�tj�|dd����}tj�|dd��}tj�|d��}|S)z/Returns the path of the large_pdb_shim.cc file.z..�data�winzlarge-pdb-shim.cc)�os�path�abspath�dirname�__file__�join)�this_dir�src_dir�win_data_dir�large_pdb_shim_ccs    �./usr/lib/python3/dist-packages/gyp/MSVSUtil.py�_GetLargePdbShimCcPathrs|��
�W�_�_�R�W�_�_�X�6�6�
7�
7�(��G�O�O�B�G�L�L��4��>�>�?�?�'�����g�v�u�5�5�,��g�l�l�<�1D�E�E��	��c�X�i}|D]$}||vr�tj||��||<�%|S)a-Performs a partial deep-copy on |in_dict|, only copying the keys in |keys|.

  Arguments:
    in_dict: The dictionary to copy.
    keys: The keys to be copied. If a key is in this list and doesn't exist in
        |in_dict| this is not an error.
  Returns:
    The partially deep-copied dictionary.
  )�copy�deepcopy)�in_dict�keys�d�keys    r�_DeepCopySomeKeysr#sD��	�!�
�)�)�c�
�'����
�]�7�3�<�
(�
(�A�c�F�F�	
�(rc�x�|�dd��}|d�d|��|d<d�|��S)z�Add a suffix to the end of a target.

  Arguments:
    name: name of the target (foo#target)
    suffix: the suffix to be added
  Returns:
    Target name with suffix added (foo_suffix#target)
  �#�r�_)�rsplitr)�name�suffix�partss   r�_SuffixNamer,0s?���+�+�c�1�
�
�%��a����&�&�
)�%��(�	���%���rc�<�t|t|����S)z�Add a shard number to the end of a target.

  Arguments:
    name: name of the target (foo#target)
    number: shard number
  Returns:
    Target name with shard added (foo_1#target)
  )r,�str)r)�numbers  r�
_ShardNamer0>s��
�T�3�v�;�;�	'�	'�'rc
�`�i}|D]2}t||�dd����}|r|||<�3g}|D]W}||vr<t||��D]%}|�t	||�����&�B|�|���Xi}|D]�}||vr�t||��D]�}t	||��}tj||��||<t	||d|��||d<||�dg��}	g}
t|t
|	��||��D]}|
�|	|���|
||d<����||||<��t|��D]�}dD]�}tj||�|g����}
g}|
D]W}||vr<t||��D]%}|�t	||�����&�B|�|���X||||<����||fS)aShard some targets apart to work around the linkers limits.

  Arguments:
    target_list: List of target pairs: 'base/base.gyp:base'.
    target_dicts: Dict of target properties keyed on target pair.
  Returns:
    Tuple of the new sharded versions of the inputs.
  �
msvs_shardr�target_name�sources)�dependencies�dependencies_original)�int�get�range�appendr0r�len�sorted)�target_list�target_dicts�targets_to_shard�t�shards�new_target_list�i�new_target_dictsr)r4�new_sources�pos�deptyper5�new_dependenciesr!s                r�ShardTargetsrIJs������#�#�a�
��a��$�$�\�1�5�5�
6�
6�F�
�#�"��q����/�� � �a������%�a�(�)�)�1�1�!����z�!�Q�/�/�0�0�0�0�1����Q��������
,�
,�a������%�a�(�)�)�	8�	8�!��!�Q����!%��<��?�!;�!;����0:�
�d�
#�M�
2�A�17�17����}�-�"�4�(�,�,�Y��;�;������C��L�L�*:�1�*=�>�>�	+�	+�C�
�
�
�W�S�\�
*�
*�
*�
*�,7����y�)�)�	8�)��O��q����"�#�#�
6�
6�a�<�	6�	6���Y�/��2�6�6�w��C�C�D�D�l����%�%�!�� � � ��)�!�,�-�-�6�6�a��#�#�J�q�!�$4�$4�5�5�5�5�6��
!�
!�!�
$�
$�
$�
$�%5��q��'�"�"�	6��+�	,�,rc��|d|}|�di��}|�di��}|�d��}|r|S|�di��}|�dd��}|r|S|�d|d	��}|�d
t|d�d�}|d
dz|z}|S)a�Returns the path to the PDB file that will be generated by a given
  configuration.

  The lookup proceeds as follows:
    - Look for an explicit path in the VCLinkerTool configuration block.
    - Look for an 'msvs_large_pdb_path' variable.
    - Use '<(PRODUCT_DIR)/<(product_name).(exe|dll).pdb' if 'product_name' is
      specified.
    - Use '<(PRODUCT_DIR)/<(target_name).(exe|dll).pdb'.

  Arguments:
    target_dict: The target dictionary to be searched.
    config_name: The name of the configuration of interest.
    vars: A dictionary of common GYP variables with generator-specific values.
  Returns:
    The path of the corresponding PDB file.
  �configurations�
msvs_settings�VCLinkerTool�ProgramDatabaseFile�	variables�msvs_large_pdb_pathN�product_namer3�.�typez.pdb�PRODUCT_DIR�/)�
setdefaultr8�TARGET_TYPE_EXT)	�target_dict�config_name�vars�config�msvs�linker�pdb_pathrO�pdb_bases	         r�_GetPdbPathr`�s���$�'�(��5�&�	�	�	�?�B�	/�	/�$��8�8�N�B�'�'�&�
�Z�Z�-�
.�
.�(�
���O��o�o�k�2�.�.�)�
�]�]�0�$�
7�
7�(�
���O��_�_�^�[��-G�
H�
H�(�$�H�H�o�k�&�6I�&J�&J�&J�
K�(�
�-�
 �3�
&��
1�(�	�/rc��g}|D]C}||}t|�dd����s�.|�|���Dt��}|D�]%}||}|�d��}t	|gd���}d}	|dz|	z}
t||	��}tj�|��}|ddz|
z}
|
dz|z}tj
|��}|
|d<d	|d
<|g|d<|
|gd�g|d
<d}|dz|z}t||��}tj
|��}||d<d|d
<|g|d<|g|d<|�d�����D]�\}}t|||��}dD]}|�
|d���|�di��}|�di��}d|d<||d<|d|}|�di��}|�di��}d|d<||d<��|�d|��|�d|��|||<|||<|�dg���|����'||fS)a�Insert a shim target that forces the linker to use 4KB pagesize PDBs.

  This is a workaround for targets with PDBs greater than 1GB in size, the
  limit for the 1KB pagesize PDBs created by the linker by default.

  Arguments:
    target_list: List of target pairs: 'base/base.gyp:base'.
    target_dicts: Dict of target properties keyed on target pair.
    vars: A dictionary of common GYP variables with generator-specific values.
  Returns:
    Tuple of the shimmed version of the inputs.
  �msvs_large_pdbrr3)rK�default_configuration�toolset�large_pdb_copyr'�SHARED_INTERMEDIATE_DIRrU�nonerSr4)�destination�files�copies�large_pdb_shimr
r5rK)�msvs_precompiled_header�msvs_precompiled_source�testNrL�VCCLCompilerTool�3�DebugInformationFormat�ProgramDataBaseFileNamerM�true�GenerateDebugInformationrN)r7r8r:rr#r,rr�basenamerr�itemsr`�poprV�insert)r=r>rZ�targets_to_shimr@rXrr3�	base_dict�copy_suffix�copy_target_name�full_copy_target_name�shim_cc_basename�shim_cc_dir�shim_cc_path�	copy_dict�shim_suffix�shim_target_name�full_shim_target_name�	shim_dictrYr[r^r"r\�compilerr]s                           r�InsertLargePdbShimsr��sB���/��
�
�a��q�/�K��{���/��3�3�4�4���
���1�����,�.�.���GM�GM�a��q�/�K��/�/�-�0�0�K�!�+�
@�
@�
@�B�B�I�#�K�"�S�(�;�6��'��;�7�7���w�'�'�(9�:�:���0�1�C�7�:J�J�K���$�'7�7�L��
�i�(�(�I�/�I�m���I�f��.�0�I�i�� �"�$����I�h��#�K�"�S�(�;�6��'��;�7�7���
�i�(�(�I�/�I�m��(�I�f��)�+�I�i��"7� 9�I�n�� )�}�}�-=�>�>�D�D�F�F�/�/���V��[�+�t�<�<�h�P���#��
�
�3������
�
�
���
3�
3�d����!3�R�8�8�h�+.�h�'�(�,4�h�(�)��+�,�[�9�f�
�
�
���
3�
3�d����~�r�2�2�f�+1�f�
'�(�&.�f�
"�#�#����q�/�0�0�0����q�/�0�0�0�*3�L�&�'�*3�L�&�'����>�2�.�.�5�5�6K�L�L�L�L�
�|�	$�$r)�__doc__rrrWrr#r,r0rIr`r��rr�<module>r�s���
?�>�����	�	�	�	�
��������������$���	(�	(�	(�4-�4-�4-�n%�%�%�Pf%�f%�f%�f%�f%r