3
���h�O � @ sT d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z m
Z
mZ d dlm
Z
d dlmZ d dlmZ ddgZe jd�Zd d
� Ze� r�g Zng ZG dd� de�ZG dd� de�Zd
d� Zedk�rPd dlmZ d dlmZ ejd� e ed�j!� � ye ed�j!� � W n, e"k
�rN Z# ze e#� W Y ddZ#[#X nX dS )� N)�Popen�PIPE�STDOUT)�filepath_from_subprocess_output)� FCompiler)�LooseVersion�GnuFCompiler�Gnu95FCompilerzTarget: ([a-zA-Z0-9_\-]*)c C s t jdkotj� d dkS )N�win32r �64bit)�sys�platform�architecture� r r �>/tmp/pip-build-5_djhm0z/numpy/numpy/distutils/fcompiler/gnu.py�is_win64 s r c
@ s e Zd ZdZd1ZdZdd� Zdd� ZddgZd d
gd ddd
gd d d ddgddgdgd ddgd�Z d Z
d Zej
dkr�ejdkr�dgZejdkr�xd2D ]Ze e jd� q�W dZdZdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd S )3r �gnu�g77zGNU Fortran 77 compilerc C s� x$|j d�r$||jd�d d� }qW t|�dkrvtjd|�}|r�|j d�rZd|jd�fS |j� d kr�d
|jd�fS nftjd|�}|r�d
|jd�fS tjd|�}|r�|jd�}|j d
�s�|j d�s�|j d�r�d|fS d
|fS d}t|| ��dS )z6Handle the different versions of GNU fortran compilerszgfortran: warning�
� N� z ([0-9.]+)zGNU Fortranr r �gfortranzGNU Fortran\s+95.*?([0-9-.]+)z%GNU Fortran.*?\-?([0-9-.]+\.[0-9-.]+)�0�2�3z6A valid Fortran version was not found in this string:
)�
startswith�find�len�re�search�group�start�
ValueError)�self�version_string�m�v�errr r r �gnu_version_match& |