From 0d70da5df95503fdaf6d5847733370eb22baf6c7 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 31 Dec 2019 20:46:36 +0100 Subject: [PATCH 21/30] Add /d1trimfile:%SRC_DIR% to make pdbs more relocatable --- Lib/distutils/_msvccompiler.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/setuptools/_distutils/_msvccompiler.py b/setuptools/_distutils/_msvccompiler.py index af8099a407..8f73453a6c 100644 --- a/setuptools/_distutils/_msvccompiler.py +++ b/setuptools/_distutils/_msvccompiler.py @@ -346,6 +346,13 @@ class MSVCCompiler(CCompiler) : # without asking the user to browse for it src = os.path.abspath(src) + # Anaconda/conda-forge customisation, we want our pdbs to be + # relocatable: + # https://developercommunity.visualstudio.com/comments/623156/view.html + d1trimfile_opts = [] + if 'SRC_DIR' in os.environ and os.path.basename(self.cc) == "cl.exe": + d1trimfile_opts.append("/d1trimfile:" + os.environ['SRC_DIR']) + if ext in self._c_extensions: input_opt = "/Tc" + src elif ext in self._cpp_extensions: @@ -390,7 +397,7 @@ class MSVCCompiler(CCompiler) : raise CompileError("Don't know how to compile {} to {}" .format(src, obj)) - args = [self.cc] + compile_opts + pp_opts + args = [self.cc] + compile_opts + pp_opts + d1trimfile_opts if add_cpp_opts: args.append('/EHsc') args.append(input_opt) -- 2.23.0