๎
_rY  ใ               @   sS   d  d l  m Z Gd d   d  Z Gd d   d e  Z Gd d   d e  Z d S)	้   )ฺ
Popen_safec               @   s   e  Z d  Z d S)ฺStaticLinkerN)ฺ__name__ฺ
__module__ฺ__qualname__ฉ r   r   ๚N/mnt/raid6/a/bak/reczko/tools/protein/utils/meson-0.42.1/mesonbuild/linkers.pyr      s   r   c               @   sป   e  Z d  Z d g 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 e d d    Z d d   Z d S)ฺVisualStudioLinkerz/NOLOGOc             C   s   | |  _  d  S)N)ฺexelist)ฺselfr
   r   r   r   ฺ__init__   s    zVisualStudioLinker.__init__c             C   s   |  j  d  d   S)N)r
   )r   r   r   r   ฺget_exelist   s    zVisualStudioLinker.get_exelistc             C   s   g  S)Nr   )r   r   r   r   ฺget_std_link_args   s    z$VisualStudioLinker.get_std_link_argsc             C   s   g  S)Nr   )r   ฺ	buildtyper   r   r   ฺget_buildtype_linker_args!   s    z,VisualStudioLinker.get_buildtype_linker_argsc             C   s   d | g S)Nz/OUT:r   )r   ฺtargetr   r   r   ฺget_output_args$   s    z"VisualStudioLinker.get_output_argsc             C   s   g  S)Nr   )r   r   r   r   ฺget_coverage_link_args'   s    z)VisualStudioLinker.get_coverage_link_argsc             C   s   t  j S)N)r	   ฺalways_args)r   r   r   r   ฺget_always_args*   s    z"VisualStudioLinker.get_always_argsc             C   s   t  j S)N)r	   r   )r   r   r   r   ฺget_linker_always_args-   s    z)VisualStudioLinker.get_linker_always_argsc             C   s   g  S)Nr   )r   ฺ	build_dirฺfrom_dirฺrpath_pathsฺbuild_rpathฺinstall_rpathr   r   r   ฺbuild_rpath_args0   s    z#VisualStudioLinker.build_rpath_argsc             C   s   g  S)Nr   )r   r   r   r   ฺthread_link_flags3   s    z$VisualStudioLinker.thread_link_flagsc             C   s   g  S)Nr   )r   ฺoptionsr   r   r   ฺget_option_link_args6   s    z'VisualStudioLinker.get_option_link_argsc             C   s   d d l  m } | j |  S)Nr   )ฺVisualStudioCCompiler)ฺ	compilersr    ฺunix_args_to_native)ฺclsฺargsr    r   r   r   r"   9   s    z&VisualStudioLinker.unix_args_to_nativec             C   s   g  S)Nr   )r   ฺ
targetfiler   r   r   ฺget_link_debugfile_args>   s    z*VisualStudioLinker.get_link_debugfile_argsN)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ฺclassmethodr"   r&   r   r   r   r   r	      s   	r	   c               @   sฒ   e  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 e d d    Z d d   Z d S)ฺArLinkerc             C   sc   | |  _  d |  _ t |  j  d g  d d  \ } } d | k rS d g |  _ n d g |  _ d  S)Nฺarz-h้    ้   z[D]ZcsrDZcsr)r
   ฺidr   ฺstd_args)r   r
   ฺpcฺstdor   r   r   r   E   s    		&zArLinker.__init__c             C   s   g  S)Nr   )r   r   r   r   r   r   r   r   r   r   O   s    zArLinker.build_rpath_argsc             C   s   |  j  d  d   S)N)r
   )r   r   r   r   r   R   s    zArLinker.get_exelistc             C   s   |  j  S)N)r-   )r   r   r   r   r   U   s    zArLinker.get_std_link_argsc             C   s   | g S)Nr   )r   r   r   r   r   r   X   s    zArLinker.get_output_argsc             C   s   g  S)Nr   )r   r   r   r   r   r   [   s    z"ArLinker.get_buildtype_linker_argsc             C   s   g  S)Nr   )r   r   r   r   r   ^   s    zArLinker.get_linker_always_argsc             C   s   g  S)Nr   )r   r   r   r   r   a   s    zArLinker.get_coverage_link_argsc             C   s   g  S)Nr   )r   r   r   r   r   d   s    zArLinker.get_always_argsc             C   s   g  S)Nr   )r   r   r   r   r   g   s    zArLinker.thread_link_flagsc             C   s   g  S)Nr   )r   r   r   r   r   r   j   s    zArLinker.get_option_link_argsc             C   s   | d  d   S)Nr   )r#   r$   r   r   r   r"   m   s    zArLinker.unix_args_to_nativec             C   s   g  S)Nr   )r   r%   r   r   r   r&   q   s    z ArLinker.get_link_debugfile_argsN)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r'   r"   r&   r   r   r   r   r(   C   s   
r(   N)ฺmesonlibr   r   r	   r(   r   r   r   r   ฺ<module>   s   .