File: //usr/lib/python3/dist-packages/numpy/distutils/command/__pycache__/autodist.cpython-310.pyc
o
6��a� � @ sJ d Z ddlZdd� Zdd� Zdd� Zdd d
�Zdd� Zd
d� Zdd� ZdS )zKThis module implements additional tests ala autoconf which can be useful.
� Nc C �B | � � t�d�}dD ]}| �|d|i dd�}|r| S qdS )z,Return the inline identifier (may be empty).z�
#ifndef __cplusplus
static %(inline)s int static_func (void)
{
return 0;
}
%(inline)s int nostatic_func (void)
{
return 0;
}
#endif)�inline�
__inline__�__inliner N� ��_check_compiler�textwrap�dedent�try_compile��cmd�body�kw�st� r �B/usr/lib/python3/dist-packages/numpy/distutils/command/autodist.py�check_inline s
�r c C r )z.Return the restrict identifier (may be empty).zj
static int static_func (char * %(restrict)s a)
{
return 0;
}
)�restrict�__restrict__�
__restrictr Nr r r r r r �check_restrict s
�r c C s | � � t�d�}| �|dd�S )zCheck if the compiler is GCC.z�
int
main()
{
#if (! defined __GNUC__)
#error gcc required
#endif
return 0;
}
Nr )r
r r r r �check_compiler_gcc1 s
r c C sN | � � d�t|�t|�t|�g�}t�d�}||||d�}| �|| dd�S )zB
Check that the gcc version is at least the specified version.�.a1
int
main()
{
#if (! defined __GNUC__) || (__GNUC__ < %(major)d) || \
(__GNUC_MINOR__ < %(minor)d) || \
(__GNUC_PATCHLEVEL__ < %(patchlevel)d)
#error gcc >= %(version)s required
#endif
return 0;
}
)�version�major�minor�
patchlevelN)r �join�strr r
r )r
r r r r r r r r r �check_gcc_version_at_leastB s
�r c C s, | � � t�d�||f }| �|dd�dkS )z9Return True if the given function attribute is supported.a
#pragma GCC diagnostic error "-Wattributes"
#pragma clang diagnostic error "-Wattributes"
int %s %s(void* unused)
{
return 0;
}
int
main()
{
return 0;
}
Nr r )r
� attribute�namer r r r �check_gcc_function_attributeZ s
�r# c C s0 | � � t�d�||||f }| �|dd�dkS )zMReturn True if the given function attribute is supported with
intrinsics.z�
#include<%s>
int %s %s(void)
{
%s;
return 0;
}
int
main()
{
return 0;
}
Nr r )r
r! r"