diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-04-17 21:39:13 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-17 21:39:13 +0300 |
commit | 88ca3805e74e67d81499bcf02362d8935dd8ec7a (patch) | |
tree | 29bd531405a41e29ccabb9a3fb7c416b4ba3a977 /mesonbuild/compilers/compilers.py | |
parent | 348248f0a19bdc80e8a184befb2faaa1d5e66f40 (diff) | |
parent | 46ccbe48e7dc902f699d0554055f89c49df4d415 (diff) | |
download | meson-88ca3805e74e67d81499bcf02362d8935dd8ec7a.zip meson-88ca3805e74e67d81499bcf02362d8935dd8ec7a.tar.gz meson-88ca3805e74e67d81499bcf02362d8935dd8ec7a.tar.bz2 |
Merge pull request #1852 from QuLogic/openmp
Add an OpenMP dependency.
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r-- | mesonbuild/compilers/compilers.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 99e9164..37326d8 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -937,6 +937,9 @@ class Compiler: def thread_flags(self, env): return [] + def openmp_flags(self): + raise EnvironmentException('Language %s does not support OpenMP flags.' % self.get_display_language()) + GCC_STANDARD = 0 GCC_OSX = 1 @@ -1152,6 +1155,9 @@ class GnuCompiler: def get_default_include_dirs(self): return gnulike_default_include_dirs(self.exelist, self.language) + def openmp_flags(self): + return ['-fopenmp'] + class ElbrusCompiler(GnuCompiler): # Elbrus compiler is nearly like GCC, but does not support @@ -1270,6 +1276,15 @@ class ClangCompiler: def get_default_include_dirs(self): return gnulike_default_include_dirs(self.exelist, self.language) + def openmp_flags(self): + if version_compare(self.version, '>=3.8.0'): + return ['-fopenmp'] + elif version_compare(self.version, '>=3.7.0'): + return ['-fopenmp=libomp'] + else: + # Shouldn't work, but it'll be checked explicitly in the OpenMP dependency. + return [] + # Tested on linux for ICC 14.0.3, 15.0.6, 16.0.4, 17.0.1 class IntelCompiler: @@ -1332,6 +1347,12 @@ class IntelCompiler: def get_default_include_dirs(self): return gnulike_default_include_dirs(self.exelist, self.language) + def openmp_flags(self): + if version_compare(self.version, '>=15.0.0'): + return ['-qopenmp'] + else: + return ['-openmp'] + class ArmCompiler: # Functionality that is common to all ARM family compilers. |