3
���h�
� @ s� d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm Z d dl
mZ dgZG dd� de�Z
edkr�d d lmZ ejd
� eedd�j� � dS )
� N)� FCompiler)�find_executable)�make_temp_file)�log�IBMFCompilerc @ sh e Zd ZdZdZdZddgdgddgdgd gd
dgdgd
�Zdd� Zdd� Zdd� Z dd� Z
dd� ZdS )r �ibmzIBM XL Fortran Compilerzo(xlf\(1\)\s*|)IBM XL Fortran ((Advanced Edition |)Version |Enterprise Edition V|for AIX, V)(?P<version>[^\s*]*)z<F77>z -qversion�xlfZxlf90z-qfixedZxlf95�arz-cr�ranlib)Zversion_cmdZcompiler_f77Zcompiler_fixZcompiler_f90� linker_so�archiverr
c
s� t j| f|�|�}|d kr�tjjd�r�td�}td�}tjj|�r�tjj|�r�yt j
|ddg�}W n tt jfk
r| Y nX t
jd|�}|r�|jd�}d� |d kr�tjj� �r�ttj� ��}|j� � fd d
�|D �}|r�ddlm} | |d � | _}|S )
N�aix�lslppr z-LcZxlfcmpz xlfcmp:(?P<version>\d+([.]\d+)+)�versionz/etc/opt/ibmcmp/xlfc s( g | ] }t jjt jj� |d ��r|�qS )zxlf.cfg)�os�path�isfile�join)�.0�d)�xlf_dir� �>/tmp/pip-build-5_djhm0z/numpy/numpy/distutils/fcompiler/ibm.py�
<listcomp>5 s z,IBMFCompiler.get_version.<locals>.<listcomp>r )�LooseVersion)r �get_version�sys�platform�
startswithr r r �exists�
subprocess�check_output�OSError�CalledProcessError�re�search�group�isdir�sorted�listdir�reverseZdistutils.versionr r )
�self�args�kwdsr r r �o�m�lr r )r r r s*
zIBMFCompiler.get_versionc C s dgS )Nz -qextnamer )r+ r r r � get_flags; s zIBMFCompiler.get_flagsc C s dgS )Nz-gr )r+ r r r �get_flags_debug> |