ó 2ÄČ[c@`sSdZddlmZmZmZd„Zd„Zd„Zd„Zd„Z dS( sKThis module implements additional tests ala autoconf which can be useful. i(tdivisiontabsolute_importtprint_functioncC`sX|jƒd}xAdddgD]0}|j|i|d6ddƒ}|r |Sq WdS(s,Return the inline identifier (may be empty).sŒ #ifndef __cplusplus static %(inline)s int static_func (void) { return 0; } %(inline)s int nostatic_func (void) { return 0; } #endiftinlinet __inline__t__inlinetN(t_check_compilert try_compiletNone(tcmdtbodytkwtst((s?/tmp/pip-build-fiC0ax/numpy/numpy/distutils/command/autodist.pyt check_inline s  cC`sX|jƒd}xAdddgD]0}|j|i|d6ddƒ}|r |Sq WdS(s.Return the restrict identifier (may be empty).sB static int static_func (char * %(restrict)s a) { return 0; } trestrictt __restrict__t __restrictRN(RRR (R R R R ((s?/tmp/pip-build-fiC0ax/numpy/numpy/distutils/command/autodist.pytcheck_restricts  cC`s#|jƒd}|j|ddƒS(s)Return True if the C compiler is GCC 4.x.si int main() { #if (! defined __GNUC__) || (__GNUC__ < 4) #error gcc >= 4 required #endif return 0; } N(RRR (R R ((s?/tmp/pip-build-fiC0ax/numpy/numpy/distutils/command/autodist.pytcheck_compiler_gcc40s cC`s3|jƒd||f}|j|ddƒdkS(s9Return True if the given function attribute is supported.sŒ #pragma GCC diagnostic error "-Wattributes" #pragma clang diagnostic error "-Wattributes" int %s %s(void*); int main() { return 0; } iN(RRR (R t attributetnameR ((s?/tmp/pip-build-fiC0ax/numpy/numpy/distutils/command/autodist.pytcheck_gcc_function_attribute@s cC`s0|jƒd|f}|j|ddƒdkS(s9Return True if the given variable attribute is supported.s† #pragma GCC diagnostic error "-Wattributes" #pragma clang diagnostic error "-Wattributes" int %s foo; int main() { return 0; } iN(RRR (R RR ((s?/tmp/pip-build-fiC0ax/numpy/numpy/distutils/command/autodist.pytcheck_gcc_variable_attributeQs N( t__doc__t __future__RRRRRRRR(((s?/tmp/pip-build-fiC0ax/numpy/numpy/distutils/command/autodist.pyts