Merge pull request #493 from adamjstewart/features/pgi

Modifications to get PGI working
This commit is contained in:
Todd Gamblin 2016-03-05 14:19:15 -08:00
commit 097df180e2
5 changed files with 12 additions and 13 deletions

6
lib/spack/env/cc vendored
View File

@ -90,15 +90,15 @@ case "$command" in
command="$SPACK_CC" command="$SPACK_CC"
language="C" language="C"
;; ;;
c++|CC|g++|clang++|icpc|pgCC|xlc++) c++|CC|g++|clang++|icpc|pgc++|xlc++)
command="$SPACK_CXX" command="$SPACK_CXX"
language="C++" language="C++"
;; ;;
f90|fc|f95|gfortran|ifort|pgf90|xlf90|nagfor) f90|fc|f95|gfortran|ifort|pgfortran|xlf90|nagfor)
command="$SPACK_FC" command="$SPACK_FC"
language="Fortran 90" language="Fortran 90"
;; ;;
f77|gfortran|ifort|pgf77|xlf|nagfor) f77|gfortran|ifort|pgfortran|xlf|nagfor)
command="$SPACK_F77" command="$SPACK_F77"
language="Fortran 77" language="Fortran 77"
;; ;;

View File

@ -1 +0,0 @@
../../cc

View File

@ -29,28 +29,28 @@ class Pgi(Compiler):
cc_names = ['pgcc'] cc_names = ['pgcc']
# Subclasses use possible names of C++ compiler # Subclasses use possible names of C++ compiler
cxx_names = ['pgCC'] cxx_names = ['pgc++', 'pgCC']
# Subclasses use possible names of Fortran 77 compiler # Subclasses use possible names of Fortran 77 compiler
f77_names = ['pgf77'] f77_names = ['pgfortran', 'pgf77']
# Subclasses use possible names of Fortran 90 compiler # Subclasses use possible names of Fortran 90 compiler
fc_names = ['pgf95', 'pgf90'] fc_names = ['pgfortran', 'pgf95', 'pgf90']
# Named wrapper links within spack.build_env_path # Named wrapper links within spack.build_env_path
link_paths = { 'cc' : 'pgi/pgcc', link_paths = { 'cc' : 'pgi/pgcc',
'cxx' : 'pgi/case-insensitive/pgCC', 'cxx' : 'pgi/pgc++',
'f77' : 'pgi/pgf77', 'f77' : 'pgi/pgfortran',
'fc' : 'pgi/pgf90' } 'fc' : 'pgi/pgfortran' }
@classmethod @classmethod
def default_version(cls, comp): def default_version(cls, comp):
"""The '-V' option works for all the PGI compilers. """The '-V' option works for all the PGI compilers.
Output looks like this:: Output looks like this::
pgf95 10.2-0 64-bit target on x86-64 Linux -tp nehalem-64 pgcc 15.10-0 64-bit target on x86-64 Linux -tp sandybridge
Copyright 1989-2000, The Portland Group, Inc. All Rights Reserved. The Portland Group - PGI Compilers and Tools
Copyright 2000-2010, STMicroelectronics, Inc. All Rights Reserved. Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved.
""" """
return get_compiler_version( return get_compiler_version(
comp, '-V', r'pg[^ ]* ([^ ]+) \d\d\d?-bit target') comp, '-V', r'pg[^ ]* ([^ ]+) \d\d\d?-bit target')