aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/backend')
-rw-r--r--mesonbuild/backend/ninjabackend.py12
-rw-r--r--mesonbuild/backend/vs2010backend.py3
-rw-r--r--mesonbuild/backend/vs2015backend.py1
-rw-r--r--mesonbuild/backend/xcodebackend.py1
4 files changed, 14 insertions, 3 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index cc0167d..e11491f 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -139,6 +139,7 @@ class NinjaBackend(backends.Backend):
def __init__(self, build):
super().__init__(build)
+ self.name = 'ninja'
self.ninja_filename = 'build.ninja'
self.fortran_deps = {}
self.all_outputs = {}
@@ -1931,7 +1932,8 @@ rule FORTRAN_DEP_HACK
commands += linker.get_linker_always_args()
if not isinstance(target, build.StaticLibrary):
commands += compilers.get_base_link_args(self.environment.coredata.base_options,
- linker)
+ linker,
+ isinstance(target, build.SharedModule))
commands += linker.get_buildtype_linker_args(self.environment.coredata.get_builtin_option('buildtype'))
commands += linker.get_option_link_args(self.environment.coredata.compiler_options)
commands += self.get_link_debugfile_args(linker, target, outname)
@@ -1940,13 +1942,17 @@ rule FORTRAN_DEP_HACK
if isinstance(target, build.Executable):
commands += linker.get_std_exe_link_args()
elif isinstance(target, build.SharedLibrary):
- commands += linker.get_std_shared_lib_link_args()
+ if isinstance(target, build.SharedModule):
+ commands += linker.get_std_shared_module_link_args()
+ else:
+ commands += linker.get_std_shared_lib_link_args()
commands += linker.get_pic_args()
if hasattr(target, 'soversion'):
soversion = target.soversion
else:
soversion = None
- commands += linker.get_soname_args(target.prefix, target.name, target.suffix, abspath, soversion)
+ commands += linker.get_soname_args(target.prefix, target.name, target.suffix,
+ abspath, soversion, isinstance(target, build.SharedModule))
# This is only visited when using the Visual Studio toolchain
if target.vs_module_defs and hasattr(linker, 'gen_vs_module_defs_args'):
commands += linker.gen_vs_module_defs_args(target.vs_module_defs.rel_to_builddir(self.build_to_src))
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index 0f67771..d043455 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -57,6 +57,7 @@ class RegenInfo():
class Vs2010Backend(backends.Backend):
def __init__(self, build):
super().__init__(build)
+ self.name = 'vs2010'
self.project_file_version = '10.0.30319.1'
self.sources_conflicts = {}
self.platform_toolset = None
@@ -782,6 +783,8 @@ class Vs2010Backend(backends.Backend):
extra_link_args += l
if not isinstance(target, build.StaticLibrary):
extra_link_args += target.link_args
+ if isinstance(target, build.SharedModule):
+ extra_link_args += compiler.get_std_shared_module_link_args()
# External deps must be last because target link libraries may depend on them.
for dep in target.get_external_deps():
extra_link_args += dep.get_link_args()
diff --git a/mesonbuild/backend/vs2015backend.py b/mesonbuild/backend/vs2015backend.py
index 8d4ff45..2c0efa7 100644
--- a/mesonbuild/backend/vs2015backend.py
+++ b/mesonbuild/backend/vs2015backend.py
@@ -19,6 +19,7 @@ from .vs2010backend import Vs2010Backend
class Vs2015Backend(Vs2010Backend):
def __init__(self, build):
super().__init__(build)
+ self.name = 'vs2015'
self.platform_toolset = 'v140'
self.vs_version = '2015'
diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py
index b157741..8133e0f 100644
--- a/mesonbuild/backend/xcodebackend.py
+++ b/mesonbuild/backend/xcodebackend.py
@@ -22,6 +22,7 @@ from ..mesonlib import MesonException
class XCodeBackend(backends.Backend):
def __init__(self, build):
super().__init__(build)
+ self.name = 'xcode'
self.project_uid = self.environment.coredata.guid.replace('-', '')[:24]
self.project_conflist = self.gen_id()
self.indent = ' '