B
    G0d                 @   s4  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlT e jdd	d
kZe jdd
d
kZeoeZG d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#d$Z!e"d%kr0d d&l#m$Z$ e$e!d' dS ))    N)join)log)newer)get_config_var)npy_load_module)*NPY_RELAXED_STRIDES_CHECKING10NPY_RELAXED_STRIDES_DEBUGc               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
CallOnceOnlyc             C   s   d | _ d | _d | _d S )N)_check_types_check_ieee_macros_check_complex)self r   B/var/www/html/venv/lib/python3.7/site-packages/numpy/core/setup.py__init__%   s    zCallOnceOnly.__init__c             O   s8   | j d kr"t||}t|| _ ntt| j }|S )N)r   check_typespickledumpscopydeepcopyloads)r   akwoutr   r   r   r   *   s
    

zCallOnceOnly.check_typesc             O   s8   | j d kr"t||}t|| _ ntt| j }|S )N)r   check_ieee_macrosr   r   r   r   r   )r   r   r   r   r   r   r   r   2   s
    

zCallOnceOnly.check_ieee_macrosc             O   s8   | j d kr"t||}t|| _ ntt| j }|S )N)r   check_complexr   r   r   r   r   )r   r   r   r   r   r   r   r   :   s
    

zCallOnceOnly.check_complexN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r   $   s   r   c               C   s&   t jdkrtjt jdS tdS dS )z return path where libpython* is.win32libsLIBDIRN)sysplatformospathr   prefixr   r   r   r   r   pythonlib_dirB   s    
r*   c               C   s
   t jdkS )zTReturn True if the NPY_NO_SIGNAL symbol must be defined in configuration
    header.r"   )r%   r&   r   r   r   r   is_npy_no_signalI   s    r+   c               C   s
   dt jkS )zxReturn True if the NPY_NO_SMP symbol must be defined in public
    header (when SMP support cannot be reliably enabled).Z	NPY_NOSMP)r'   environr   r   r   r   is_npy_no_smpN   s    	r-   c             C   sX   ddl m} | }td|tjtjf  |dkr:| d |dksJ|dkrT| d d S )Nr   )get_build_architecturez3BUILD_ARCHITECTURE: %r, os.name=%r, sys.platform=%rZAMD64ZDISTUTILS_USE_SDKZIntelZFORCE_NO_LONG_DOUBLE_FORMATTING)numpy.distutils.misc_utilr.   printr'   namer%   r&   append)Zdeflistr.   r   r   r   r   win32_checksY   s    
r3   c                s  fdd fdd fdd}t sFtdtt  x,tD ]$}jt|dd	gd
rLt| qLW |t xJtD ]B}j	ddd|gdr|
dd
tjjd}t|df qW xtD ]}d }t|dkr|d |d t|d   }}	}
ndt|dkr@|d |d |d gt|d f\}}	}}
n*|d |d |d gt|d f\}}	}}
j	|dd|	|drΈ|
df qW x|tD ]t\}}||rt|df |dkrtjdkr rdds|jdd tddD  qW x:tD ]2\}}}}||||rt|df qW x@tD ]8}|rP|
dd
dd}
t|
df qPW |t |t d S ) Nc                s    j | dddS )NT)	librariesdeclcall)
check_func)	func_name)configmathlibsr   r   r7   j   s    z+check_math_capabilities.<locals>.check_funcc                s@   t dd | D } j| ||d}|r<dd | D  |S )Nc             S   s   g | ]}|d fqS )Tr   ).0fr   r   r   
<listcomp>o   s    zEcheck_math_capabilities.<locals>.check_funcs_once.<locals>.<listcomp>)r4   r5   r6   c             S   s   g | ]}t |d fqS )   )	fname2def)r;   r<   r   r   r   r=   s   s    )dictcheck_funcs_onceextend)
funcs_namer5   st)r9   r:   moredefsr   r   rA   n   s    
z1check_math_capabilities.<locals>.check_funcs_oncec                s<   | s4x&| D ]} |r t|df qW dS dS d S )Nr>   r   )r2   r?   )rC   r<   )r7   rA   rE   r   r   check_funcsv   s    
z,check_math_capabilities.<locals>.check_funcszNOne of the required function to build numpy is not available (the list is %s).zPython.hzmath.h)headers F)r5   r6   rG   ._r>      r      T)r5   r6   	call_argsrG   Zattribute_target_avx512f)r"   cygwin      c             S   s   g | ]}d | qS )z-ffixed-xmm%sr   )r;   nr   r   r   r=      s    z+check_math_capabilities.<locals>.<listcomp>       ()) ZMANDATORY_FUNCSSystemErrorstrZOPTIONAL_STDFUNCS_MAYBE
check_declr?   ZOPTIONAL_STDFUNCSremoveZOPTIONAL_HEADERSr7   replacer'   r(   sepr2   ZOPTIONAL_INTRINSICSlenZOPTIONAL_FUNCTION_ATTRIBUTEScheck_gcc_function_attributer%   r&   Zcheck_compiler_gccZcheck_gcc_version_at_leastextra_compile_argsrB   rangeZ,OPTIONAL_FUNCTION_ATTRIBUTES_WITH_INTRINSICSZ,check_gcc_function_attribute_with_intrinsicsZOPTIONAL_VARIABLE_ATTRIBUTESZcheck_gcc_variable_attributeZC99_FUNCS_SINGLEZC99_FUNCS_EXTENDED)r9   extrE   r:   rF   r<   htuprG   argsmdecfncodeheaderr   )r7   rA   r9   r:   rE   r   check_math_capabilitiesi   sX    	



",*



ri   c                s   g g }y*t  d dkr0tjddd |fS W n tk
rF   Y nX  d}|rʈd |d x6tD ].} j|dgd	}|rp|d
t	| df qpW  fdd}|d |d |d |fS )Nr   ZInterixz+Disabling broken complex support. See #1365rK   )
stacklevelz	complex.h)ZHAVE_COMPLEX_Hr>   )ZNPY_USE_C99_COMPLEXr>   )rG   zNPY_HAVE_%sr>   c                s    fddt D }tdd |D }j|||dsjxF|D ](}j|dddr<t|df q<W ndd |D  d S )Nc                s   g | ]}|  qS r   r   )r;   r<   )precr   r   r=      s    z5check_complex.<locals>.check_prec.<locals>.<listcomp>c             S   s   g | ]}|d fqS )Tr   )r;   r<   r   r   r   r=      s    )r6   r5   r4   Tr>   c             S   s   g | ]}t |d fqS )r>   )r?   )r;   r<   r   r   r   r=      s    )ZC99_COMPLEX_FUNCSr@   rA   r7   r2   r?   rB   )rk   flistr5   r<   )r9   r:   priv)rk   r   
check_prec   s    


z!check_complex.<locals>.check_precrH   r<   l)
r'   unamewarningswarn	Exceptioncheck_headerr2   ZC99_COMPLEX_TYPESZ
check_typeZtype2def)r9   r:   pubrD   trn   r   )r9   r:   rm   r   r      s*    



r   c                s   g  g g } fdd}ddddg}xb|D ]Z}t d| }| j|dd	gd
}|r|| j|dd	gd
rdt d|   q,|| q,W x*|D ]"}| j|dd	gd
}|r|| qW  fS )Nc                s,     td|    dtd|    d S )Nzdecl_%szNPY_%s)r2   r?   )r<   )rm   ru   r   r   	_add_decl   s    z$check_ieee_macros.<locals>._add_declisnanisinfZsignbitisfinitezdecl_%szPython.hzmath.h)rG   zNPY_%s)r?   rX   Zcheck_macro_truer2   )r9   macrosrw   Z_macrosr<   Z	py_symbolalready_declaredrD   r   )rm   ru   r   r      s&    

r   c             C   s  g }g }dgdgddgdgdgdddgddgdgdgddgd
}|  d}|snd}d	tjkr`d
}td||  d}|r|d |d |  d}|r|d |d xdD ]}	| jdt|	 dgd}|r|dt|	 dt|	 f q| j|	||	 d}|dkr0|dt|	 d| f qtd|	 qW xdD ]}	| jdt|	 dgd}
| j|	||	 d}|dkr|dt|	 d| f |
s|	dks|dt|	 d| f ntd|	 d|	|	f }| j|dd ||	 D d}|dkr|dt|	 d| f ntd| qFW xvd D ]n}	| j|	dgt	 g||	 d!}|dkr|dt|	 d| f |dt|	 d| f ntd|	 q6W | jd"dgdrf| jd"dgt	 g|d" d!}|dkr|dtd" d| f |dtd" d| f ntdd" | jd#|d# d}|dkrZ|dtd# d| f ntdd# | jd$dgdst
d%||fS )&NrK   rP   rO   rR      )
shortintlongfloatdoublezlong doublePy_intptr_tPY_LONG_LONGz	long longoff_tzPython.hpythonZ__pypy__pypyzICannot compile 'Python.h'. Perhaps you need to install {0}-dev|{0}-devel.zendian.h)HAVE_ENDIAN_Hr>   )ZNPY_HAVE_ENDIAN_Hr>   zsys/endian.h)HAVE_SYS_ENDIAN_Hr>   )ZNPY_HAVE_SYS_ENDIAN_Hr>   )r~   r   r   z	SIZEOF_%s)rG   zNPY_SIZEOF_%s)expectedr   z%dzChecking sizeof (%s) failed !)r   r   zlong doublezlong doublezstruct {%s __x; %s __y;}c             S   s   g | ]}d | qS )rK   r   )r;   xr   r   r   r=   I  s    zcheck_types.<locals>.<listcomp>zNPY_SIZEOF_COMPLEX_%s)r   r   )rG   library_dirsr   r   z	long longZCHAR_BITzCConfig wo CHAR_BIT is not supported, please contact the maintainers)rt   r%   builtin_module_namesrV   formatr2   rX   Zsym2defZcheck_type_sizer*   RuntimeError)
config_cmdr`   	build_dirZprivate_definesZpublic_definesr   resultr   restyper|   Zcomplex_defr   r   r   r     s    








 










r   c             C   sf   g }g dgdgg}t jd}|r4|d|d x,|D ]}| jd|dddr:|}P q:W td	|S )
Nrd   ZcpmlMATHLIBr   ,expT)r4   r5   r6   zKmath library missing; rerun setup.py after setting the MATHLIB env variable)r'   r,   getinsertsplitr7   EnvironmentError)r   r:   Zmathlibs_choicesZmathlibr#   r   r   r   check_mathlibt  s    
r   c             C   s   d}|  |dr|S dS dS )zSReturn the define value to use for NPY_VISIBILITY_HIDDEN (may be empty
    string).z%__attribute__((visibility("hidden")))ZhidemerH   N)r]   )r9   Zhider   r   r   visibility_define  s    r   rH   c          B      s
  ddl m}m} ddlm}m}m} |d| |j}t|dt	rTt
dt tt td|jd}td	|d
ddt   fdd}	 fdd}
fdd}|d}|d}t|dd t|d t| d tdd tdd tdd tdd tdd dg dg tjd d dkrd g n$d!g d"g d#g jd$ tddd%td$d&d'td(g}td)tjjfd*gfd+d,}tddd-tddd.tddd/tddd0tddd1g}t d2odt  d3}j!d||g d4g |rd5gng d6d7 "d8d9 "d:d9 j#d;tddd<tddd=tddd>gtddd?tddd@tdddAgdgdB tdddCtdddDtdddEtdddFtddd?tddd@tdddGtdddHtdddItdddAtdddJtdddKtdddLtdddMtdddNtdddOtdddPtdddQtdddRdSg}tdddTtddd=tddd>tdddUtdddLtdddVtdddWtdddXtdddYg	}tj$%dZd[d[kr>|d\d]}n
|d^d}|o\d_|%d`g k}|r|}|tdddatdddbg ni }tdddctddddtdddetdddftdddgtdddhtddditdddjtdddktdddltdddmtdddntdddotdddptdddqtdddrtdddstdddttdddutdddvtdddwtdddxtdddytdddztddd{tddd|tddd}tddd~tdddtdddtdddtdddtdddtdddtdddtdddtdddtd$d&ddtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dtd$d&dg6| }tdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddÃtdddătdddŃtdddƃtdddǃtdddȃtdddɃtdddʃtddd˃tddd̃tddd̓tddd΃tdddσtdddЃtdddуtddd҃tdddӃtdddԃtdddՃtdddփg?}fdd؄}tdddكtdddڃtdddۃtddd܃tddd݃tdddރtddd߃tdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddg}td$d&dtd$d&dtdddktdddtdddLtddd܃tdddtdg	}j#d|| | |	|
|tdtd||g || | | dg|d j#dtdddtdddtdddYgd j#dtdddgd j#dtdddgd j#dtdddgd j#dtdddYtdddtdddtddd tdddgtdddQtdddRdStdddtdddtddd tdddtdddtdddtdddg	d &d d	 d
 'd (  S (  Nr   )Configurationdot_join)get_infoblas_opt_infolapack_opt_infocoreZcode_generatorserrorzgenerate_umath.pygenerate_umathrJ   rI   )z.pyUr>   zinclude/numpyc          	      s   t |d}tj|}tj|s.t| tt|r^ }t	
d|  || |\}}t|}|dd |f t|| || | |d  | ||d  t r|d tjdkstjdkrt| |d	| f | }tr|d
 n
|d tr(|d n
|d t|}	|d|	 df t|r~|d |d |d |d t|d}
xD|D ]<}t|tr|
 d|  n|
 d|d |d f  qW |
 d |dkr|
 d n|
 d|  |
 d |
 t!"d W d Q R X t	
d|  t|}
t	
|
#  W d Q R X t	
d nbg }t|P}
xH|
D ]@}d}|$|rr|t%|d  & }|rr||'d qrW W d Q R X t(| d r| j)| tj|}|j*krj*| |S )!Nzconfig.hzGenerating %sr   r   r   Z__NPY_PRIVATE_NO_SIGNALr"   ntZNPY_RESTRICT)r   r>   )r   r   )r   r>   )r   r   zHAVE_LDOUBLE_%sr>   Z$NPY_DO_NOT_OPTIMIZE_LONG_right_shiftZ%NPY_DO_NOT_OPTIMIZE_ULONG_right_shiftZ(NPY_DO_NOT_OPTIMIZE_LONGLONG_right_shiftZ)NPY_DO_NOT_OPTIMIZE_ULONGLONG_right_shiftwz#define %s
z#define %s %s
z#ifndef __cplusplus
inlinez/* #undef inline */
z#define inline %s
z#endif
z
                    #ifndef _NPY_NPY_CONFIG_H_
                    #error config.h should never be included directly, include npy_config.h instead
                    #endif
                    zFile: %sEOFz#define MATHLIBr4   )+r   r'   r(   dirnameexistsmakedirsr   __file__get_config_cmdr   infor   r   r2   ri   rB   r   r   r+   r%   r&   r1   r3   Zcheck_restrictZcheck_inliner   r   Z check_long_double_representationZ-check_for_right_shift_internal_compiler_erroropen
isinstancerW   writetextwrapdedentread
startswithr\   stripr   hasattrr4   numpy_include_dirs)r`   r   targetdr   rE   ignoredr:   r   reptarget_flinesvalueZincl_dir)cocacher9   
header_dirr   r   generate_config_h  s|    









 





 z(configuration.<locals>.generate_config_hc       
   	      s   t|dd  t|dd t|d}tj|}tj|sRt| tt|r	 }t
d|  || |\}}t r|d t r|d n
|d t|}| |d	  | ||d	  tr|d
 tr|d |jddgdr|d t|}|d|f |ddt f |ddt f t|d\}	xD|D ]<}t|tr|	d|  n|	d|d |d	 f  qfW |	td W dQ R X t
d|  t|}	t
|	   W dQ R X t
d !|f |S )z@Depends on config.h: generate_config_h has to be called before !srccommonnpymathz_numpyconfig.hzGenerating %s)ZNPY_NO_SIGNALr>   )
NPY_NO_SMPr>   )r   r   r>   )r   r>   )r   r>   ZPRIdPTRz
inttypes.h)rG   )ZNPY_USE_C99_FORMATSr>   ZNPY_VISIBILITY_HIDDENZNPY_ABI_VERSIONz0x%.8XZNPY_API_VERSIONr   z#define %s
z#define %s %s
r   z
                    #ifndef __STDC_FORMAT_MACROS
                    #define __STDC_FORMAT_MACROS 1
                    #endif
                    NzFile: %sr   )"add_include_dirsr   r'   r(   r   r   r   r   r   r   r   r   r   r+   r2   r-   r   rB   r   r   r   r   rX   r   ZC_ABI_VERSIONC_API_VERSIONr   r   rW   r   r   r   r   add_data_files)
r`   r   r   r   r   r   rE   r:   Zhidden_visibilityr   )r   r9   r   r   r   generate_numpyconfig_h  sR    






 

z-configuration.<locals>.generate_numpyconfig_hc                s    fdd}|S )Nc                st   t  d }tjd  z2t}td| |tj |\}}}W d tjd= X 	|f|f |fS )Nz.pyr   zexecuting %s)
r   r%   r(   r   
__import__r   r   generate_apir'   r   )r`   r   scriptrd   Zh_fileZc_fileZdoc_file)codegen_dirr9   r   module_namer   r   r   Z  s    


z>configuration.<locals>.generate_api_func.<locals>.generate_apir   )r   r   )r   r9   r   )r   r   generate_api_funcY  s    z(configuration.<locals>.generate_api_funcgenerate_numpy_apigenerate_ufunc_apir   r   r   Z
multiarrayZumathZnpysortZ_simd)ZNPY_INTERNAL_BUILDr	   )ZHAVE_NPY_CONFIG_Hr	   rL   aix)Z_LARGE_FILESN)Z_FILE_OFFSET_BITSZ64)Z_LARGEFILE_SOURCEr	   )Z_LARGEFILE64_SOURCEr	   includez
_signbit.cnumpyz	*object.hz	genapi.pyr[   )pkgnamez
numpy.corec                 st      }|d}|s0d|j_|d tdt|}ddd |D }ddd |D }|d< |d	< d S )
Nzint main(void) { return 0;}Tz0Broken toolchain: cannot link a simple C program c             S   s   g | ]}d | qS )z-l%sr   )r;   ro   r   r   r   r=     s    z;configuration.<locals>.get_mathlib_info.<locals>.<listcomp>c             S   s   g | ]}d | qS )z%s.libr   )r;   ro   r   r   r   r=     s    Zposix_mathlibZmsvc_mathlib)r   Ztry_linkcompilerverboser   r   r   )rc   r   rD   ZmlibsZ
posix_mlibZ	msvc_mlib)r9   
subst_dictr   r   get_mathlib_info  s    

z'configuration.<locals>.get_mathlib_infoznpy_math_internal.h.srcz
npy_math.czieee754.c.srcznpy_math_complex.c.srczhalffloat.cWindowsZMSlibz/GL-)include_dirsZextra_compiler_args)sourcesZinstall_dirZ
build_infoznpymath.ini.inzlib/npy-pkg-configzmlib.ini.inZ_multiarray_testsz_multiarray_tests.c.srczmem_overlap.cznpy_argparse.czmem_overlap.hznpy_argparse.hznpy_extint128.h)r   dependsr4   zarray_assign.hzbinop_override.hzcblasfuncs.hzlowlevel_strided_loops.hznpy_cblas.hznpy_config.hznpy_ctypes.hznpy_import.hznpy_longdouble.hztempl_common.h.srczucsnarrow.hzufunc_override.hzumathmodule.hz	numpyos.hznpy_cpu_dispatch.hZsimdzsimd.hzarray_assign.cznpy_longdouble.czucsnarrow.czufunc_override.cz	numpyos.cznpy_cpu_features.c.srcZNPY_USE_BLAS_ILP64r
   Zblas_ilp64_optrK   Zblas_opt)Z
HAVE_CBLASNdefine_macroszcblasfuncs.czpython_xerbla.czabstractdtypes.hzarrayobject.hzarraytypes.hzarrayfunction_override.hzarray_coercion.hzarray_method.hznpy_buffer.hzcalculation.hzcommon.hzcommon_dtype.hzconvert_datatype.hz	convert.hzconversion_utils.hzctors.hzdescriptor.hzdtypemeta.hzdtype_transfer.hz	dragon4.hzeinsum_debug.hzeinsum_sumprod.hzgetset.hzhashdescr.hziterators.hzlegacy_dtype_implementation.hz	mapping.hz	methods.hzmultiarraymodule.hznditer_impl.hznumber.hz
refcount.hzscalartypes.hz
sequence.hzshape.hz
strfuncs.hz
typeinfo.hzusertypes.hzvdot.hz_neighborhood_iterator_imp.hznpy_endian.hzarrayscalars.hz
noprefix.hznpy_interrupt.hznpy_3kcompat.hz
npy_math.hzhalffloat.hznpy_common.hznpy_os.hzutils.hzndarrayobject.hz	npy_cpu.hznumpyconfig.hzndarraytypes.hznpy_1_7_deprecated_api.hzabstractdtypes.czalloc.czarrayobject.czarraytypes.c.srczarray_coercion.czarray_method.czarray_assign_scalar.czarray_assign_array.czarrayfunction_override.czbuffer.czcalculation.czcompiled_base.czcommon.czcommon_dtype.cz	convert.czconvert_datatype.czconversion_utils.czctors.cz
datetime.czdatetime_strings.czdatetime_busday.czdatetime_busdaycal.czdescriptor.czdtypemeta.cz	dragon4.czdtype_transfer.czeinsum.c.srczeinsum_sumprod.c.srczflagsobject.czgetset.czhashdescr.czitem_selection.cziterators.czlegacy_dtype_implementation.czlowlevel_strided_loops.c.srcz	mapping.cz	methods.czmultiarraymodule.cznditer_templ.c.srcznditer_api.cznditer_constr.cznditer_pywrap.cznumber.cz
refcount.cz
sequence.czshape.czscalarapi.czscalartypes.c.srcz
strfuncs.cztemp_elide.cz
typeinfo.czusertypes.czvdot.cznpy_sort.h.srczquicksort.c.srczmergesort.c.srcztimsort.c.srczheapsort.c.srczradixsort.c.srcznpy_partition.h.srczselection.c.srcznpy_binsearch.h.srczbinsearch.c.srcc          	      sl   t |d}tj|}tj|s.t| }t||rht|d}| 	 j
 j W d Q R X g S )Nz__umath_generated.cr   )r   r'   r(   r   r   r   r   r   r   Z	make_codeZdefdictr   )r`   r   r   dirr   r<   )r   generate_umath_pyr   r   r   generate_umath_c  s    

z'configuration.<locals>.generate_umath_czumathmodule.czreduction.czfuncs.inc.srczsimd.inc.srczloops.h.srczloops_utils.h.srczloops.c.srczloops_unary_fp.dispatch.c.srczloops_arithm_fp.dispatch.c.srczloops_arithmetic.dispatch.c.srcz"loops_trigonometric.dispatch.c.srcz!loops_exponent_log.dispatch.c.srczmatmul.h.srczmatmul.c.srcz
clip.h.srcz
clip.c.srczufunc_object.czextobj.czscalarmath.c.srczufunc_type_resolution.cz
override.cz
override.hzgenerate_ufunc_api.pyZ_multiarray_umathzgenerate_numpy_api.pyz*.py)r   r   r4   
extra_infoZ_umath_testsz_umath_tests.c.srcz_umath_tests.dispatch.c)r   Z_rational_testsz_rational_tests.c.srcZ_struct_ufunc_testsz_struct_ufunc_tests.c.srcZ_operand_flag_testsz_operand_flag_tests.c.srcz_simd.cz_simd_inc.h.srcz_simd_data.inc.srcz_simd.dispatch.c.srcz_simd.hz_simd_arg.incz_simd_convert.incz_simd_easyintrin.incz_simd_vector.inc)r   r   testsz
tests/dataztests/examplesz*.pyi))r/   r   r   Znumpy.distutils.system_infor   r   r   Z
local_pathr   Zis_releasedrq   simplefilterZMismatchCAPIWarningZcheck_api_versionr   r1   r   r   r   r   Zadd_data_dirZadd_define_macrosr%   r&   r   rB   pathsr@   r'   r(   r[   r   python_compilerZadd_installed_libraryZadd_npy_pkg_configadd_extensionr,   r   Zadd_subpackager   Zmake_svn_version_py)parent_packageZtop_pathr   r   r   r   r   Z	local_dirrQ   r   r   r   r   r   depsr   Znpymath_sourcesZis_msvcZcommon_depsZ
common_srcZ	blas_infoZ	have_blasr   Zmultiarray_depsZmultiarray_srcr   Z	umath_srcZ
umath_depsr   )r   r   r9   r   r   r   r   r   configuration  sN   


kG





























































































































































































r   __main__)setup)r   )rH   N)%r'   r%   r   r   rq   r&   r   os.pathr   Znumpy.distutilsr   distutils.dep_utilr   	sysconfigr   Znumpy.compatr   Zsetup_commonr,   r   r   r   r   r*   r+   r-   r3   ri   r   r   r   r   r   r   r   Znumpy.distutils.corer   r   r   r   r   <module>   sD   X)%e	
    w
