diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-04-25 22:25:55 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-05-02 22:50:15 +0300 |
commit | 1918c0d231f0c04b1a57c2fdf057b50c8aa7312b (patch) | |
tree | 074fd9ede2fe8ee8c3e63822b1c89de39cd967ff /mesonbuild/compilers | |
parent | 77b72e8573bbd8d6d04cb11aacdba604b8649f4d (diff) | |
download | meson-1918c0d231f0c04b1a57c2fdf057b50c8aa7312b.zip meson-1918c0d231f0c04b1a57c2fdf057b50c8aa7312b.tar.gz meson-1918c0d231f0c04b1a57c2fdf057b50c8aa7312b.tar.bz2 |
Can combine D and C++ in a single target. Closes #3125.
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): |