
    G/Ph2                         d Z ddlZddlZddlZddlZddlmZmZmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZ d Z ee
d	e           	 dd
Z ee
de           dS )z>
unixccompiler - can handle very long argument lists for ar.

    N)CompileErrorDistutilsExecErrorLibError)UnixCCompiler)replace_method)_commandline_dep_string)logc                    | j         }|d         dk    r?d|v r|                    d           d|v r|                    d           |dgz  }|| _         dt          j        v rddlm} t          j        t          j        t          j        d                             }	t          j        t          j         |d          d                             }
t          j        | j                   }|	|vr/|	                    |
|	          }t          j        |          | _         t          j        | j
                  }|	|vr!| j
        t          j        |	          z   | _
        t          j                            | j         d                   d|}t          | d	d
          r	dd|dz   g}ng }	 |                     | j         |z   |d|gz   |z   |z   |           n1# t          $ r$}t!          |          }t#          |          dd}~ww xY w|r}t$          j        dk    rt)          j        ddd|dz   g           t-          |dz   d          5 }|                    t1          |||                     ddd           dS # 1 swxY w Y   dS dS )z9Compile a single source files with a Unix-style compiler.r   aCCz-Aez-Aaz-AAOPT)get_config_varsz: _auto_dependsFz-MMDz-MFz.dz-odisplayNzoschtagz-tcIBM1047a)compiler_soremoveosenviron	sysconfigr   shlexjoinsplitreplace	linker_sopathbasenamegetattrspawnr   strr   sysplatform
subprocesscheck_outputopenwriter   )selfobjsrcextcc_argsextra_postargspp_optsccompr   optgcv_optccomp_sllink_sr   depsemsgfs                     ]/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numpy/distutils/unixccompiler.pyUnixCCompiler__compiler;      s	    EQx5E>>LLE>>LL% 
------jRZ%67788*U[)?)?)BCCDD*T-..googs33G${733D*T^,,g!^ek#.>.>>DN'**4+;A+>????EG t_e,, sTz**

4#g-dC0@@4G!"-4 	 	6 	6 	6 	6 * * *!ff3T)*
  O <5  #WeYd
$KLLL#*c"" 	OaGG+G^WMMNNN	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	OO Os*   (+G 
HG==H%I77I;>I;_compilec                    |                      ||          \  }}|                     ||          }|                     ||          rd	 t          j        |           n# t
          $ r Y nw xY w|                     t          j                            |                     || j	        z   }|rv|dd         }|dd         }dt          j        
                    | j        d                   t          |          |fz  }|                     | j        |gz   |z   |           |v| j        rt          j        
                    | j        d                   d|}	 |                     | j        |gz   |           nG# t          $ r$}	t!          |	          }
t#          |
          dd}	~	ww xY wnt%          j        d|           dS )	a  
    Build a static library in a separate sub-process.

    Parameters
    ----------
    objects : list or tuple of str
        List of paths to object files used to build the static library.
    output_libname : str
        The library name as an absolute or relative (if `output_dir` is used)
        path.
    output_dir : str, optional
        The path to the output directory. Default is None, in which case
        the ``output_dir`` attribute of the UnixCCompiler instance.
    debug : bool, optional
        This parameter is not used.
    target_lang : str, optional
        This parameter is not used.

    Returns
    -------
    None

    )
output_dirN2   z %s: adding %d object files to %sr   r   z:@ zskipping %s (up-to-date))_fix_object_argslibrary_filename
_need_linkr   unlinkOSErrormkpathr   dirnameobjectsr    archiverlenr"   ranlibr   r#   r   r	   debug)r*   rG   output_libnamer>   rK   target_langoutput_filenametmp_objectsr   r7   r8   s              r:   UnixCCompiler_create_static_librP   I   s   2 //DDGZ )).Z)PP  w00 "?	 Io&&&& 	 	 	D	BGOOO44555, 	*!#2#&G%bcc*K87++DM!,<==w<<<: :G JJt}'887B!(  * * *  	* ; 	.#%7#3#3DKN#C#C#C#C#2?4G.

4;/)::%,  . . . .% . . .!ffsmm-.	. 		,o>>>
Fs*   	A 
A+*A+ E: :
F(F##F(create_static_lib)Nr   N)__doc__r   r$   r&   r   distutils.errorsr   r   r   distutils.unixccompilerr   numpy.distutils.ccompilerr   numpy.distutils.misc_utilr   numpy.distutilsr	   r;   rP        r:   <module>rZ      s    
			 



      G G G G G G G G G G 1 1 1 1 1 1 4 4 4 4 4 4 = = = = = =      3O 3O 3Oj }j*@ A A A KOA A A AF }1.0 0 0 0 0rY   