aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-03-19 22:26:47 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2014-03-19 22:26:47 +0200
commitf807ab209d185d1be781d786d5d48ccfa6d5a243 (patch)
treea8ed8092505cffeec226e2d99deaa2004ca0cbcf /backends.py
parent185fd7b5bc389492cef0c5f16e5eda98057aaf18 (diff)
downloadmeson-f807ab209d185d1be781d786d5d48ccfa6d5a243.zip
meson-f807ab209d185d1be781d786d5d48ccfa6d5a243.tar.gz
meson-f807ab209d185d1be781d786d5d48ccfa6d5a243.tar.bz2
Now can has linking against shared libraries.
Diffstat (limited to 'backends.py')
-rw-r--r--backends.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/backends.py b/backends.py
index 8a9525e..63dae30 100644
--- a/backends.py
+++ b/backends.py
@@ -1299,7 +1299,7 @@ class Vs2010Backend(Backend):
elif isinstance(target, build.StaticLibrary):
conftype = 'StaticLibrary'
elif isinstance(target, build.SharedLibrary):
- conftype = 'SharedLibrary'
+ conftype = 'DynamicLibrary'
else:
raise MesonException('Unknown target type for %s' % target_name)
root = ET.Element('Project', {'DefaultTargets' : "Build",
@@ -1367,7 +1367,7 @@ class Vs2010Backend(Backend):
links = []
for t in target.link_targets:
lobj = self.build.targets[t.get_basename()]
- linkname = lobj.get_filename()
+ linkname = lobj.get_import_filename()
links.append(linkname)
links.append('%(AdditionalDependencies)')
ET.SubElement(link, 'AdditionalDependencies').text = ';'.join(links)
@@ -1379,10 +1379,12 @@ class Vs2010Backend(Backend):
subsys.text = subsystem
gendeb = ET.SubElement(link, 'GenerateDebugInformation')
gendeb.text = 'true'
+ if isinstance(target, build.SharedLibrary):
+ ET.SubElement(link, 'ImportLibrary').text = target.get_import_filename()
pdb = ET.SubElement(link, 'ProgramDataBaseFileName')
pdb.text = '$(OutDir}%s.pdb' % target_name
- entrypoint = ET.SubElement(link, 'EntryPointSymbol')
- entrypoint.text = 'mainCRTStartup'
+ if isinstance(target, build.Executable):
+ ET.SubElement(link, 'EntryPointSymbol').text = 'mainCRTStartup'
targetmachine = ET.SubElement(link, 'TargetMachine')
targetmachine.text = 'MachineX86'