
    -PhL                        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        rddlmZ dd	lmZ neZ G d
 de          ZdS )    )annotationsN)Path   )clike_debug_argsclike_optimization_args   )	OptionKey)Environment)Compilerc                  r    e Zd ZdZddZd dZd!d
Zd"dZd#dZd$dZ	d%dZ
d&dZd"dZd'dZd(dZd)dZdS )*PGICompilerpgireturnNonec                P    t          d          h| _        dg}g ||||d| _        d S )Nb_pchz-Minform=inform)0123
everything)r	   base_options	warn_args)selfdefault_warn_argss     _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/compilers/mixins/pgi.py__init__zPGICompiler.__init__   s?    &w//0./"""+4
 4
    T.Tuple[str]c                    dS )N)z-module r   s    r   get_module_incdir_argsz"PGICompiler.get_module_incdir_args*   s    }r   
implibnamestrT.List[str]c                    g S Nr!   )r   r$   s     r   gen_import_library_argsz#PGICompiler.gen_import_library_args-       	r   c                >    | j                                         rdgS g S )Nz-fPIC)infois_linuxr"   s    r   get_pic_argszPGICompiler.get_pic_args0   s%    9 	9	r   envr
   c                    dgS )Nz-mpr!   r   r/   s     r   openmp_flagszPGICompiler.openmp_flags6   s	    wr   optimization_levelc                    t           |         S r(   )r   )r   r3   s     r   get_optimization_argsz!PGICompiler.get_optimization_args9   s    &'9::r   is_debugboolc                    t           |         S r(   )r   )r   r6   s     r   get_debug_argszPGICompiler.get_debug_args<   s    ))r   parameter_list	build_dirc           
        t          |          D ]t\  }}|d d         dk    s|d d         dk    rS|d d         t          j                            t          j                            ||dd                              z   ||<   u|S )Nr   -Iz-L)	enumerateospathnormpathjoin)r   r:   r;   idxis        r   &compute_parameters_with_absolute_pathsz2PGICompiler.compute_parameters_with_absolute_paths?   s    // 	_ 	_FC!u}}"1"&'ebg.>.>rw||IWXYZY[Y[W\?]?].^.^&^s#r   c                    g S r(   r!   r"   s    r   get_always_argszPGICompiler.get_always_argsE   r*   r   c                    dS )Npchr!   r"   s    r   get_pch_suffixzPGICompiler.get_pch_suffixH   s    ur   pch_dirheaderc                    t          |                                          j        |z  }| j        dk    r ddt	          |j                  d|j         gS g S )Ncppz--pchz	--pch_dirr=   )r   resolveparentlanguager%   )r   rK   rL   hdrs       r   get_pch_use_argszPGICompiler.get_pch_use_argsL   s\    7mm##%%,v5=E!!SZ%%%' ' Ir   'Environment'c                    g S r(   r!   r1   s     r   thread_flagszPGICompiler.thread_flagsV   s    	r   N)r   r   )r   r   )r$   r%   r   r&   )r   r&   )r/   r
   r   r&   )r3   r%   r   r&   )r6   r7   r   r&   )r:   r&   r;   r%   r   r&   )r   r%   )rK   r%   rL   r%   r   r&   )r/   rT   r   r&   )__name__
__module____qualname__idr   r#   r)   r.   r2   r5   r9   rE   rG   rJ   rS   rV   r!   r   r   r   r      s	       	B

 

 

 

            ; ; ; ;* * * *                 r   r   )
__future__r   typingTr?   pathlibr   	compilersr   r   optionsr	   TYPE_CHECKINGenvironmentr
   compilers.compilersr   objectr   r!   r   r   <module>re      s    # " " " " " 3     				       A A A A A A A A            ? ******/////// H> > > > >( > > > > >r   