[pypy-commit] pypy default: emit pdb file in same directory as obj for parallel test runs

mattip noreply at buildbot.pypy.org
Fri Sep 12 14:07:38 CEST 2014


Author: mattip <matti.picus at gmail.com>
Branch: 
Changeset: r73503:b18c07d4bffd
Date: 2014-09-12 15:04 +0300
http://bitbucket.org/pypy/pypy/changeset/b18c07d4bffd/

Log:	emit pdb file in same directory as obj for parallel test runs

diff --git a/rpython/translator/platform/windows.py b/rpython/translator/platform/windows.py
--- a/rpython/translator/platform/windows.py
+++ b/rpython/translator/platform/windows.py
@@ -203,7 +203,9 @@
         # the assembler still has the old behavior that all options
         # must come first, and after the file name all options are ignored.
         # So please be careful with the order of parameters! ;-)
-        args = ['/nologo', '/c'] + compile_args + ['/Fo%s' % (oname,), str(cfile)]
+        pdb_dir = oname.dirname
+        args = ['/nologo', '/c'] + compile_args + ['/Fd%s\\' % (pdb_dir,),
+                        '/Fo%s' % (oname,), str(cfile)]
         self._execute_c_compiler(cc, args, oname)
         return oname
 
@@ -345,7 +347,7 @@
                '$(CREATE_PCH) $(INCLUDEDIRS)'))
             rules.append(('.c.obj', '',
                     '$(CC) /nologo $(CFLAGS) $(CFLAGSEXTRA) $(USE_PCH) '
-                    '/Fo$@ /c $< $(INCLUDEDIRS)'))
+                    '/Fd$(@D)\\ /Fo$@ /c $< $(INCLUDEDIRS)'))
             #Do not use precompiled headers for some files
             #rules.append((r'{..\module_cache}.c{..\module_cache}.obj', '',
             #        '$(CC) /nologo $(CFLAGS) $(CFLAGSEXTRA) /Fo$@ /c $< $(INCLUDEDIRS)'))
@@ -360,12 +362,13 @@
                     target = f[:-1] + 'obj'
                     rules.append((target, f,
                         '$(CC) /nologo $(CFLAGS) $(CFLAGSEXTRA) '
-                        '/Fo%s /c %s $(INCLUDEDIRS)' %(target, f)))
+                        '/Fd%s\\ /Fo%s /c %s $(INCLUDEDIRS)' %(
+                                os.path.dirname(target), target, f)))
 
         else:
             rules.append(('.c.obj', '',
                           '$(CC) /nologo $(CFLAGS) $(CFLAGSEXTRA) '
-                          '/Fo$@ /c $< $(INCLUDEDIRS)'))
+                          '/Fd$(@D)\\ /Fo$@ /c $< $(INCLUDEDIRS)'))
 
 
         for args in definitions:


More information about the pypy-commit mailing list