diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-08-17 23:50:50 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-08-17 23:50:50 +0300 |
commit | b08581d394d0e0102bce2e51c46f16f2102dc8c7 (patch) | |
tree | 5f015fed8a8d2e45b43a79a3898f09e55f90cdc6 | |
parent | 5e047d9c91038480bbe0d11205aa3dcc4bf7dfd0 (diff) | |
download | meson-b08581d394d0e0102bce2e51c46f16f2102dc8c7.zip meson-b08581d394d0e0102bce2e51c46f16f2102dc8c7.tar.gz meson-b08581d394d0e0102bce2e51c46f16f2102dc8c7.tar.bz2 |
Generate pdb files during linking.
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 1 | ||||
-rw-r--r-- | mesonbuild/compilers.py | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index cb007d4..7c47ef4 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -1669,6 +1669,7 @@ rule FORTRAN_DEP_HACK linker) 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 += linker.get_link_debugfile_args(outname) if not(isinstance(target, build.StaticLibrary)): commands += self.environment.coredata.external_link_args[linker.get_language()] if isinstance(target, build.Executable): diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py index 5a8f48a..744d75f 100644 --- a/mesonbuild/compilers.py +++ b/mesonbuild/compilers.py @@ -357,6 +357,9 @@ class Compiler(): def get_compile_debugfile_args(self, rel_obj): return [] + def get_link_debugfile_args(self, rel_obj): + return [] + class CCompiler(Compiler): def __init__(self, exelist, version, is_cross, exe_wrapper=None): super().__init__(exelist, version) @@ -1608,6 +1611,10 @@ class VisualStudioCCompiler(CCompiler): pdbarr = rel_obj.split('.')[:-1] + ['pdb'] return ['/Fd' + '.'.join(pdbarr)] + def get_link_debugfile_args(self, targetfile): + pdbarr = targetfile.split('.')[:-1] + ['pdb'] + return ['/DEBUG', '/PDB:' + '.'.join(pdbarr)] + class VisualStudioCPPCompiler(VisualStudioCCompiler): def __init__(self, exelist, version, is_cross, exe_wrap): VisualStudioCCompiler.__init__(self, exelist, version, is_cross, exe_wrap) @@ -2284,6 +2291,10 @@ class VisualStudioLinker(): def unix_compile_flags_to_native(self, args): return args[:] + def get_link_debugfile_args(self, targetfile): + pdbarr = targetfile.split('.')[:-1] + ['pdb'] + return ['/DEBUG', '/PDB:' + '.'.join(pdbarr)] + class ArLinker(): def __init__(self, exelist): |