aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-03-22 19:25:19 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2014-03-22 19:25:19 +0200
commitd30c7b596856854fed11000dcbebfa9a70c44207 (patch)
treefe211d08b8ad89da934b10c86c1c4d9570275e56 /backends.py
parent5e50403d3f0625dabd6ec97aa02bade594a94768 (diff)
downloadmeson-d30c7b596856854fed11000dcbebfa9a70c44207.zip
meson-d30c7b596856854fed11000dcbebfa9a70c44207.tar.gz
meson-d30c7b596856854fed11000dcbebfa9a70c44207.tar.bz2
Can define entry symbol type.
Diffstat (limited to 'backends.py')
-rw-r--r--backends.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/backends.py b/backends.py
index f46bfdf..9bb3ae7 100644
--- a/backends.py
+++ b/backends.py
@@ -1366,6 +1366,7 @@ class Vs2010Backend(Backend):
proj_to_src_root = os.path.join(down, self.build_to_src)
proj_to_src_dir = os.path.join(proj_to_src_root, target.subdir)
(sources, headers) = self.split_sources(target.sources)
+ entrypoint = 'WinMainCRTStartup'
buildtype = 'Debug'
platform = "Win32"
project_name = target.name
@@ -1373,11 +1374,14 @@ class Vs2010Backend(Backend):
subsystem = 'Windows'
if isinstance(target, build.Executable):
conftype = 'Application'
- subsystem = 'Console'
+ if not target.gui_app:
+ subsystem = 'Console'
+ entrypoint = 'mainCRTStartup'
elif isinstance(target, build.StaticLibrary):
conftype = 'StaticLibrary'
elif isinstance(target, build.SharedLibrary):
conftype = 'DynamicLibrary'
+ entrypoint = '_DllMainCrtStartup'
else:
raise MesonException('Unknown target type for %s' % target_name)
root = ET.Element('Project', {'DefaultTargets' : "Build",
@@ -1485,7 +1489,7 @@ class Vs2010Backend(Backend):
pdb = ET.SubElement(link, 'ProgramDataBaseFileName')
pdb.text = '$(OutDir}%s.pdb' % target_name
if isinstance(target, build.Executable):
- ET.SubElement(link, 'EntryPointSymbol').text = 'mainCRTStartup'
+ ET.SubElement(link, 'EntryPointSymbol').text = entrypoint
targetmachine = ET.SubElement(link, 'TargetMachine')
targetmachine.text = 'MachineX86'