diff options
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r-- | mesonbuild/compilers/compilers.py | 6 | ||||
-rw-r--r-- | mesonbuild/compilers/cpp.py | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index a2c6668..02faed2 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -938,6 +938,12 @@ class Compiler: def openmp_flags(self): raise EnvironmentException('Language %s does not support OpenMP flags.' % self.get_display_language()) + def language_stdlib_only_link_flags(self): + # The linker flags needed to link the standard library of the current + # language in. This is needed in cases where you e.g. combine D and C++ + # and both of which need to link their runtime library in or otherwise + # building fails with undefined symbols. + return [] GCC_STANDARD = 0 GCC_OSX = 1 diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py index 4c48052..051f922 100644 --- a/mesonbuild/compilers/cpp.py +++ b/mesonbuild/compilers/cpp.py @@ -93,6 +93,9 @@ class ClangCPPCompiler(ClangCompiler, CPPCompiler): def get_option_link_args(self, options): return [] + def language_stdlib_only_link_flags(self): + return ['-lstdc++'] + class GnuCPPCompiler(GnuCompiler, CPPCompiler): def __init__(self, exelist, version, gcc_type, is_cross, exe_wrap, defines, **kwargs): @@ -134,6 +137,9 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler): def get_pch_use_args(self, pch_dir, header): return ['-fpch-preprocess', '-include', os.path.basename(header)] + def language_stdlib_only_link_flags(self): + return ['-lstdc++'] + class ElbrusCPPCompiler(GnuCPPCompiler, ElbrusCompiler): def __init__(self, exelist, version, gcc_type, is_cross, exe_wrapper=None, defines=None, **kwargs): |