Author: Hakan Ardo <ha...@debian.org>
Branch: 
Changeset: r69959:b54c3c50424f
Date: 2014-03-14 16:28 +0100
http://bitbucket.org/pypy/pypy/changeset/b54c3c50424f/

Log:    merge

diff --git a/pypy/module/cpyext/test/test_cpyext.py 
b/pypy/module/cpyext/test/test_cpyext.py
--- a/pypy/module/cpyext/test/test_cpyext.py
+++ b/pypy/module/cpyext/test/test_cpyext.py
@@ -64,6 +64,8 @@
         kwds["libraries"] = [api_library]
         # '%s' undefined; assuming extern returning int
         kwds["compile_extra"] = ["/we4013"]
+        # prevent linking with python27.lib
+        kwds["compile_extra"].append("/DPy_BUILD_CORE")
     elif sys.platform == 'darwin':
         kwds["link_files"] = [str(api_library + '.dylib')]
     else:
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
@@ -369,32 +369,21 @@
         for rule in rules:
             m.rule(*rule)
         
-        objects = ' $(OBJECTS)'
-        create_obj_response_file = []
-        if len(' '.join(rel_ofiles)) > 4000:
-            # cmd.exe has a limit of ~4000 characters before a command line is 
too long.
-            # Use a response file instead, at the cost of making the Makefile 
very ugly.
-            for i in range(len(rel_ofiles) - 1):
-                create_obj_response_file.append('echo %s >> obj_names.rsp' % \
-                                                rel_ofiles[i])
-            # use cmd /c for the last one so that the file is flushed 
-            create_obj_response_file.append('cmd /c echo %s >> obj_names.rsp' 
% \
-                                            rel_ofiles[-1])
-            objects = ' @obj_names.rsp'
         if self.version < 80:
             m.rule('$(TARGET)', '$(OBJECTS)',
-                    create_obj_response_file + [\
-                   '$(CC_LINK) /nologo $(LDFLAGS) $(LDFLAGSEXTRA)' + objects + 
' /out:$@ $(LIBDIRS) $(LIBS)',
+                    [ '$(CC_LINK) /nologo $(LDFLAGS) $(LDFLAGSEXTRA) /out:$@' 
+\
+                      ' $(LIBDIRS) $(LIBS) @<<\n$(OBJECTS)\n<<',
                    ])
         else:
             m.rule('$(TARGET)', '$(OBJECTS)',
-                    create_obj_response_file + [\
-                    '$(CC_LINK) /nologo $(LDFLAGS) $(LDFLAGSEXTRA)' + objects 
+ ' $(LINKFILES) /out:$@ $(LIBDIRS) $(LIBS) /MANIFEST 
/MANIFESTFILE:$*.manifest',
+                    [ '$(CC_LINK) /nologo $(LDFLAGS) $(LDFLAGSEXTRA)' + \
+                      ' $(LINKFILES) /out:$@ $(LIBDIRS) $(LIBS) /MANIFEST' + \
+                      ' /MANIFESTFILE:$*.manifest @<<\n$(OBJECTS)\n<<',
                     'mt.exe -nologo -manifest $*.manifest 
-outputresource:$@;1',
                     ])
         m.rule('debugmode_$(TARGET)', '$(OBJECTS)',
-                create_obj_response_file + [\
-               '$(CC_LINK) /nologo /DEBUG $(LDFLAGS) $(LDFLAGSEXTRA)' + 
objects + ' $(LINKFILES) /out:$@ $(LIBDIRS) $(LIBS)',
+                [ '$(CC_LINK) /nologo /DEBUG $(LDFLAGS) $(LDFLAGSEXTRA)' + \
+                  ' $(LINKFILES) /out:$@ $(LIBDIRS) $(LIBS) 
@<<\n$(OBJECTS)\n<<',
                 ])
 
         if shared:
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to