3
���h�
� @ s� d dl Z d dlmZ d dl mZ d dlmZmZmZ ddgZG dd� de�Z d dl
Z
G dd� de�Zed kr�d d
l
mZ ejd� d dlmZ d
e jkr�eed
d�j� � needd�j� � dS )� N)� FCompiler)�platform)�join�dirname�normpath�PGroupFCompiler�PGroupFlangCompilerc @ s� e Zd ZdZdZdZedkrRddgddgdd dgddgd
gddgd
gd�ZdgZn.ddgdgdd gdgdgddgd
gd�ZdgZdZ dZ
dd� Zdd� Zdd� Z
edkr�dd� Zndd� Zdd� ZdS )r �pgzPortland Group Fortran Compilerz1\s*pg(f77|f90|hpf|fortran) (?P<version>[\d.-]+).*�darwinz<F77>z-VZ pgfortranz-dynamiclibz-MfixedZlibtool�arz-cr�ranlib)�version_cmd�compiler_f77�compiler_fix�compiler_f90� linker_so�archiverr � z-fpicz-module z-Ic C s ddg}| j | S )Nz-Minform=informz-Mnosecond_underscore)� pic_flags)�self�opt� r �=/tmp/pip-build-5_djhm0z/numpy/numpy/distutils/fcompiler/pg.py� get_flags+ s zPGroupFCompiler.get_flagsc C s dgS )Nz-fastr )r r r r �
get_flags_opt/ s zPGroupFCompiler.get_flags_optc C s dgS )Nz-gr )r r r r �get_flags_debug2 s zPGroupFCompiler.get_flags_debugc C s
dddgS )Nz-dynamicz
-undefinedZdynamic_lookupr )r r r r �get_flags_linker_so6 s z#PGroupFCompiler.get_flags_linker_soc C s ddgS )Nz-sharedz-fpicr )r r r r r : s c C s d| S )Nz-R%sr )r �dirr r r �runtime_library_dir_option= s z*PGroupFCompiler.runtime_library_dir_optionN)�__name__�
__module__�__qualname__�
compiler_type�description�version_patternr �executablesr �module_dir_switchZmodule_include_switchr r r r r r r r r r s:
c @ s� e Zd ZdZdZdZdZdgZddgdgdgdgdgedd gdd
�Zd Z dZ
dd
� Zej
dd�dd� �Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� ZdS )r �flangz$Portland Group Fortran LLVM Compilerz/\s*(flang|clang) version (?P<version>[\d.-]+).*zlib.exez<F77>z --versionNz/verbosez/OUT:)r
r r r r r r z-module c C s t j| �}|jdddg� |S )Nr' |