diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-03-21 01:21:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-21 01:21:37 +0200 |
commit | 3a613564d3f2db35ca03b2b8658f7050f5ed56d7 (patch) | |
tree | 101ea46c91394e8d3d782620bc5630dd3c16803c | |
parent | 3bd27c2d8ae7c6157296ed82a016a90d8f49cc2d (diff) | |
parent | 1f342a208122c86fa564688c518ecc63b67650df (diff) | |
download | meson-3a613564d3f2db35ca03b2b8658f7050f5ed56d7.tar.gz |
Merge pull request #5116 from dcbaker/openmp-de-specialize
dependencies/openmp: Don't special case OpenMP
-rw-r--r-- | mesonbuild/backend/backends.py | 2 | ||||
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 5 | ||||
-rw-r--r-- | mesonbuild/compilers/c.py | 2 | ||||
-rw-r--r-- | mesonbuild/dependencies/base.py | 3 | ||||
-rw-r--r-- | mesonbuild/dependencies/misc.py | 7 |
5 files changed, 3 insertions, 16 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 5b270d3d3..d69091b73 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -641,8 +641,6 @@ class Backend: # pkg-config puts the thread flags itself via `Cflags:` if dep.need_threads(): commands += compiler.thread_flags(self.environment) - elif dep.need_openmp(): - commands += compiler.openmp_flags() # Fortran requires extra include directives. if compiler.language == 'fortran': for lt in target.link_targets: diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 644640619..7f36b7b0b 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -2494,7 +2494,6 @@ rule FORTRAN_DEP_HACK%s # For 'automagic' deps: Boost and GTest. Also dependency('threads'). # pkg-config puts the thread flags itself via `Cflags:` need_threads = False - need_openmp = False commands += target.link_args # External deps must be last because target link libraries may depend on them. @@ -2503,15 +2502,11 @@ rule FORTRAN_DEP_HACK%s # https://github.com/mesonbuild/meson/issues/1718 commands.extend_preserving_lflags(dep.get_link_args()) need_threads |= dep.need_threads() - need_openmp |= dep.need_openmp() for d in target.get_dependencies(): if isinstance(d, build.StaticLibrary): for dep in d.get_external_deps(): need_threads |= dep.need_threads() - need_openmp |= dep.need_openmp() commands.extend_preserving_lflags(dep.get_link_args()) - if need_openmp: - commands += linker.openmp_flags() if need_threads: commands += linker.thread_link_flags(self.environment) diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py index cac27ad2a..4294bb15d 100644 --- a/mesonbuild/compilers/c.py +++ b/mesonbuild/compilers/c.py @@ -410,8 +410,6 @@ class CCompiler(Compiler): args += d.get_compile_args() if d.need_threads(): args += self.thread_flags(env) - elif d.need_openmp(): - args += self.openmp_flags() if mode == 'link': # Add link flags needed to find dependencies args += d.get_link_args() diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index de25895c5..4e61f4ce0 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -152,9 +152,6 @@ class Dependency: def get_exe_args(self, compiler): return [] - def need_openmp(self): - return False - def need_threads(self): return False diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index c95acffd7..52e8ee600 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -363,7 +363,8 @@ class OpenMPDependency(ExternalDependency): super().__init__('openmp', environment, language, kwargs) self.is_found = False try: - openmp_date = self.clib_compiler.get_define('_OPENMP', '', self.env, [], [self]) + openmp_date = self.clib_compiler.get_define( + '_OPENMP', '', self.env, self.clib_compiler.openmp_flags(), [self]) except mesonlib.EnvironmentException as e: mlog.debug('OpenMP support not available in the compiler') mlog.debug(e) @@ -373,12 +374,10 @@ class OpenMPDependency(ExternalDependency): self.version = self.VERSIONS[openmp_date] if self.clib_compiler.has_header('omp.h', '', self.env, dependencies=[self]): self.is_found = True + self.compile_args = self.link_args = self.clib_compiler.openmp_flags() else: mlog.log(mlog.yellow('WARNING:'), 'OpenMP found but omp.h missing.') - def need_openmp(self) -> bool: - return True - class ThreadDependency(ExternalDependency): def __init__(self, environment, kwargs): |