Fix link whole on VS backend.

pull/1549/head
Jussi Pakkanen 8 years ago
parent a718f1a334
commit cbc8d6e537
  1. 4
      mesonbuild/backend/vs2010backend.py
  2. 2
      mesonbuild/compilers.py

@ -225,6 +225,8 @@ class Vs2010Backend(backends.Backend):
elif isinstance(target, build.BuildTarget):
for ldep in target.link_targets:
all_deps[ldep.get_id()] = ldep
for ldep in target.link_whole_targets:
all_deps[ldep.get_id()] = ldep
for obj_id, objdep in self.get_obj_target_deps(target.objects):
all_deps[obj_id] = objdep
for gendep in target.get_generated_sources():
@ -918,6 +920,8 @@ class Vs2010Backend(backends.Backend):
for t in target.get_dependencies():
lobj = self.build.targets[t.get_id()]
linkname = os.path.join(down, self.get_target_filename_for_linking(lobj))
if t in target.link_whole_targets:
linkname = compiler.get_link_whole_for(linkname)[0]
additional_links.append(linkname)
for lib in self.get_custom_target_provided_libraries(target):
additional_links.append(self.relpath(lib, self.get_target_dir(target)))

@ -2281,6 +2281,8 @@ class VisualStudioCCompiler(CCompiler):
def get_link_whole_for(self, args):
# Only since VS2015
if not isinstance(args, list):
args = [args]
return ['/WHOLEARCHIVE:' + x for x in args]

Loading…
Cancel
Save