aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-04-25 22:25:55 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2018-05-02 22:50:15 +0300
commit1918c0d231f0c04b1a57c2fdf057b50c8aa7312b (patch)
tree074fd9ede2fe8ee8c3e63822b1c89de39cd967ff /mesonbuild/backend/backends.py
parent77b72e8573bbd8d6d04cb11aacdba604b8649f4d (diff)
downloadmeson-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/backend/backends.py')
-rw-r--r--mesonbuild/backend/backends.py13
1 files changed, 5 insertions, 8 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index ed7c118..6499105 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -318,21 +318,18 @@ class Backend:
self.write_benchmark_file(datafile)
return test_data, benchmark_data
- def determine_linker(self, target):
+ def determine_linker_and_stdlib_args(self, target):
'''
If we're building a static library, there is only one static linker.
Otherwise, we query the target for the dynamic linker.
'''
if isinstance(target, build.StaticLibrary):
if target.is_cross:
- return self.build.static_cross_linker
+ return self.build.static_cross_linker, []
else:
- return self.build.static_linker
- l = target.get_clike_dynamic_linker()
- if not l:
- m = "Couldn't determine linker for target {!r}"
- raise MesonException(m.format(target.name))
- return l
+ return self.build.static_linker, []
+ l, stdlib_args = target.get_clike_dynamic_linker_and_stdlibs()
+ return l, stdlib_args
def rpaths_for_bundled_shared_libraries(self, target):
paths = []