o
    nc                     @  s   d dl mZ 	 d dlZd dlZd dlmZ ddlmZm	Z	 ddl
mZ ejr3ddlmZ dd	lmZ neZg g g g g g d
ZG dd deZdS )    )annotationsN)Path   )clike_debug_argsclike_optimization_args   )	OptionKey)Environment)Compiler)plaindebugZdebugoptimizedreleaseZminsizeZcustomc                   @  s   e Zd ZdZd/ddZd0ddZd1d
dZd2ddZd1ddZd1ddZ	d3ddZ
d4ddZd5ddZd6d d!Zd1d"d#Zd7d$d%Zd8d(d)Zd9d,d-Zd.S ):PGICompilerZpgireturnNonec                 C  s(   t dh| _dg}g ||||d| _d S )NZb_pchz-Minform=inform)0123Z
everything)r   Zbase_optionsZ	warn_args)selfZdefault_warn_args r   ~home/ych/rk3568/buildroot/output/rockchip_rk3568_recovery/host/lib/python3.10/site-packages/mesonbuild/compilers/mixins/pgi.py__init__1   s   zPGICompiler.__init__T.Tuple[str]c                 C     dS )N)z-moduler   r   r   r   r   get_module_incdir_args=      z"PGICompiler.get_module_incdir_argsT.List[str]c                 C     dgS )Nz-silentr   r   r   r   r   get_no_warn_args@      zPGICompiler.get_no_warn_args
implibnamestrc                 C     g S Nr   )r   r"   r   r   r   gen_import_library_argsC   r   z#PGICompiler.gen_import_library_argsc                 C  s   | j  rdgS g S )Nz-fPIC)infoZis_linuxr   r   r   r   get_pic_argsF   s   
zPGICompiler.get_pic_argsc                 C  r   )Nz-mpr   r   r   r   r   openmp_flagsL   r!   zPGICompiler.openmp_flags	buildtypec                 C     t | S r%   )pgi_buildtype_args)r   r*   r   r   r   get_buildtype_argsO      zPGICompiler.get_buildtype_argsoptimization_levelc                 C  r+   r%   )r   )r   r/   r   r   r   get_optimization_argsR   r.   z!PGICompiler.get_optimization_argsis_debugboolc                 C  r+   r%   )r   )r   r1   r   r   r   get_debug_argsU   r.   zPGICompiler.get_debug_argsparameter_list	build_dirc              
   C  sd   t |D ]+\}}|d d dks|d d dkr/|d d tjtj||dd   ||< q|S )Nr   -Iz-L)	enumerateospathnormpathjoin)r   r4   r5   idxir   r   r   &compute_parameters_with_absolute_pathsX   s
    .z2PGICompiler.compute_parameters_with_absolute_pathsc                 C  r$   r%   r   r   r   r   r   get_always_args^   r   zPGICompiler.get_always_argsc                 C  r   )NZpchr   r   r   r   r   get_pch_suffixa      zPGICompiler.get_pch_suffixpch_dirheaderc                 C  s:   t | j| }| jdkrddt|jd|j gS g S )Ncppz--pchz	--pch_dirr6   )r   resolveparentlanguager#   )r   rB   rC   hdrr   r   r   get_pch_use_argse   s   


zPGICompiler.get_pch_use_argsenv'Environment'c                 C  r$   r%   r   )r   rJ   r   r   r   thread_flagso   rA   zPGICompiler.thread_flagsN)r   r   )r   r   )r   r   )r"   r#   r   r   )r*   r#   r   r   )r/   r#   r   r   )r1   r2   r   r   )r4   r   r5   r#   r   r   )r   r#   )rB   r#   rC   r#   r   r   )rJ   rK   r   r   )__name__
__module____qualname__idr   r   r    r&   r(   r)   r-   r0   r3   r>   r?   r@   rI   rL   r   r   r   r   r   -   s     













r   )
__future__r   typingTr8   pathlibr   	compilersr   r   Zmesonlibr   TYPE_CHECKINGenvironmentr	   Zcompilers.compilersr
   objectr,   r   r   r   r   r   <module>   s&   
