OwlCyberSecurity - MANAGER
Edit File: ibm.cpython-38.pyc
U �p�] � @ s� d dl mZmZmZ d dlZd dlZd dlZd dlZd dlm Z d dl mZ d dlm Z d dlmZ dgZG dd� de �Zed kr�d d lmZ e�d� eedd ��� � dS )� )�division�absolute_import�print_functionN)� 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-qfixedZxlf95Zarz-cr�ranlib)Zversion_cmdZcompiler_f77Zcompiler_fixZcompiler_f90Z linker_soZarchiverr c s� t j| f|�|�}|d kr�tj�d�r�td�}td�}tj�|�r�tj�|�r�zt � |ddg�}W n tt jfk r| Y nX t �d|�}|r�|�d�}d� |d kr�tj�� �r�tt�� ��}|�� � 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 j�t j�� |d ��r|�qS )zxlf.cfg)�os�path�isfile�join)�.0�d�Zxlf_dir� �?/usr/lib/python3/dist-packages/numpy/distutils/fcompiler/ibm.py� <listcomp>7 s z,IBMFCompiler.get_version.<locals>.<listcomp>r )�LooseVersion)r �get_version�sys�platform� startswithr r r �exists� subprocessZcheck_output�OSErrorZCalledProcessError�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@ s zIBMFCompiler.get_flags_debugc C s� g }t jdkr|�d� n |�d� | jddgd�}|d k r�t j�d�rNd}nd | }td d�\}}t�d| � t|d ��H}t � d�j}|D ]0}||�} | r�|�d| � d� � q�|�|� q�W 5 Q R X |�� |�d| � |S )N�darwinz/-Wl,-bundle,-flat_namespace,-undefined,suppressz-bsharedr �( )Z ok_statusr z/etc/xlf.cfgz/etc/opt/ibmcmp/xlf/%s/xlf.cfgz_xlf.cfg)�suffixz Creating �rz"\s*crt\s*[=]\s*(?P<path>.*)/crt1.ozcrt = %s/bundle1.o r z-F)r r �appendr r r r �info�openr"