aboutsummaryrefslogtreecommitdiff
path: root/methods.py
diff options
context:
space:
mode:
authorPedro J. Estébanez2016-10-29 03:34:53 +0200
committerRémi Verschelde2016-10-31 00:05:42 +0100
commitb492dd78bd510fc7336434c194920682d6c8bf89 (patch)
tree93ac33b85a7399234a6993b97d987757817bacc0 /methods.py
parenta27aee241c6f3c881dcfedd0df6d5aea24a4886a (diff)
downloadgodot-b492dd78bd510fc7336434c194920682d6c8bf89.tar.gz
godot-b492dd78bd510fc7336434c194920682d6c8bf89.tar.zst
godot-b492dd78bd510fc7336434c194920682d6c8bf89.zip
Diffstat (limited to 'methods.py')
-rwxr-xr-xmethods.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/methods.py b/methods.py
index 6ab469110..2fa4cecca 100755
--- a/methods.py
+++ b/methods.py
@@ -1350,7 +1350,15 @@ def use_windows_spawn_fix(self, platform=None):
if (os.name!="nt"):
return #not needed, only for windows
- self.split_drivers=True
+ # On Windows, due to the limited command line length, when creating a static library
+ # from a very high number of objects SCons will invoke "ar" once per object file;
+ # that makes object files with same names to be overwritten so the last wins and
+ # the library looses symbols defined by overwritten objects.
+ # By enabling quick append instead of the default mode (replacing), libraries will
+ # got built correctly regardless the invokation strategy.
+ # Furthermore, since SCons will rebuild the library from scratch when an object file
+ # changes, no multiple versions of the same object file will be present.
+ self.Replace(ARFLAGS='q')
import subprocess