aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/compilers/compilers.py3
-rw-r--r--mesonbuild/dependencies/misc.py14
2 files changed, 13 insertions, 4 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index a383095..37326d8 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -1282,7 +1282,8 @@ class ClangCompiler:
elif version_compare(self.version, '>=3.7.0'):
return ['-fopenmp=libomp']
else:
- return None
+ # 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
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py
index 1587f51..d4525b1 100644
--- a/mesonbuild/dependencies/misc.py
+++ b/mesonbuild/dependencies/misc.py
@@ -252,10 +252,18 @@ class OpenMPDependency(ExternalDependency):
def __init__(self, environment, kwargs):
language = kwargs.get('language')
super().__init__('openmp', environment, language, kwargs)
- self.is_found = True
+ self.is_found = False
openmp_date = self.compiler.get_define('_OPENMP', '', self.env, [], [self])
- self.version = self.VERSIONS[openmp_date]
- mlog.log('Dependency', mlog.bold(self.name), 'found:', mlog.green('YES'), self.version)
+ if openmp_date:
+ self.version = self.VERSIONS[openmp_date]
+ if self.compiler.has_header('omp.h', '', self.env, dependencies=[self]):
+ self.is_found = True
+ else:
+ mlog.log(mlog.yellow('WARNING:'), 'OpenMP found but omp.h missing.')
+ if self.is_found:
+ mlog.log('Dependency', mlog.bold(self.name), 'found:', mlog.green('YES'), self.version)
+ else:
+ mlog.log('Dependency', mlog.bold(self.name), 'found:', mlog.red('NO'))
def need_openmp(self):
return True