summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/flang/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/flang/package.py')
-rw-r--r--var/spack/repos/builtin/packages/flang/package.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/var/spack/repos/builtin/packages/flang/package.py b/var/spack/repos/builtin/packages/flang/package.py
index 853a8dfb35..f0f49ae506 100644
--- a/var/spack/repos/builtin/packages/flang/package.py
+++ b/var/spack/repos/builtin/packages/flang/package.py
@@ -8,7 +8,7 @@ from spack import *
import os
-class Flang(CMakePackage):
+class Flang(CMakePackage, CudaPackage):
"""Flang is a Fortran compiler targeting LLVM."""
homepage = "https://github.com/flang-compiler/flang"
@@ -24,10 +24,10 @@ class Flang(CMakePackage):
version('20180921', sha256='f33bd1f054e474f1e8a204bb6f78d42f8f6ecf7a894fdddc3999f7c272350784')
version('20180612', sha256='6af858bea013548e091371a97726ac784edbd4ff876222575eaae48a3c2920ed')
- # Variants
- variant('nvptx',
- default=False,
- description='Target OpenMP offload to NVidia GPUs')
+ # Patched only relevant for March 2019 release with OpenMP Offload support
+ patch('https://github.com/flang-compiler/flang/commit/b342225a64692d2b9c3aff7658a8e4f94a8923eb.diff',
+ sha256='3bd2c7453131eaaf11328785a3031fa2298bdd0c02cfd5e2b478e6e847d5da43',
+ when='@20190329 +cuda')
# Build dependency
depends_on('cmake@3.8:', type='build')
@@ -45,11 +45,15 @@ class Flang(CMakePackage):
depends_on('pgmath@20180921', when='@20180921')
depends_on('pgmath@20180612', when='@20180612')
- depends_on('cuda', when='+nvptx', type=('run'))
+ depends_on('llvm-flang +cuda', when='+cuda')
# conflicts
- conflicts('+nvptx', when='@:20181226',
- msg='OMP offload to NVidia GPUs available March 2019 or later')
+ conflicts('+cuda', when='@:20181226',
+ msg='OpenMP offload to NVidia GPUs available 20190329 or later')
+
+ # Spurious problems running in parallel the Makefile
+ # generated by the configure
+ parallel = False
def cmake_args(self):
spec = self.spec
@@ -67,7 +71,7 @@ class Flang(CMakePackage):
spec['python'].command.path)
]
- if '+nvptx' in spec:
+ if '+cuda' in spec:
options.append('-DFLANG_OPENMP_GPU_NVIDIA=ON')
else:
options.append('-DFLANG_OPENMP_GPU_NVIDIA=OFF')