-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove ARFLAGS
hack for Windows, replace with TEMPFILE
#96407
Remove ARFLAGS
hack for Windows, replace with TEMPFILE
#96407
Conversation
TEMPFILE is the built-in way of SCons to use a response file for command lines that are too long.
ARFLAGS
hack for Windows, replace with TEMPFILE
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested locally (rebased on top of master
02b16d2), it works as expected on Windows 11 23H2 + MSVC 2022 (17.10.0).
Thanks! |
This seems to have broken mingw build on Windows (at least with some mingw distribution). I saw this reported on Discord by @noidexe:
|
Was just about to post on this but I get a different error, involving prefixed
This was resolved by updating to mingw 14.2 |
I see, so it appears we will have to set
Hmm, Binutils ar should support response file. This doesn't look right. |
My above issue was solved by updating to mingw 14.2, unsure when the relevant functionality was introduced or exactly what was different but might be worth looking at versions supporting this |
Can confirm this caused me issues with adding GCC to the Windows CI in #97446; reverting the change allowed the build to work as expected |
This took me a while to diagnose, but turns out it was a known upstream GCC bug with calling Some ideas to accommodate older versions:
The first option may be the best if it works. Can someone test it out? (I very much doubt my system can handle an LTO build of Godot.) |
If you have some diffs for the suggested changes I can try them out |
Probably like diff --git a/platform/windows/detect.py b/platform/windows/detect.py
index db4c743595..7fbcd8a0df 100644
--- a/platform/windows/detect.py
+++ b/platform/windows/detect.py
@@ -792,8 +792,6 @@ def configure_mingw(env: "SConsEnvironment"):
env["CXX"] = mingw_bin_prefix + "g++"
if try_cmd("as --version", env["mingw_prefix"], env["arch"]):
env["AS"] = mingw_bin_prefix + "as"
- if try_cmd("gcc-ar --version", env["mingw_prefix"], env["arch"]):
- env["AR"] = mingw_bin_prefix + "gcc-ar"
if try_cmd("gcc-ranlib --version", env["mingw_prefix"], env["arch"]):
env["RANLIB"] = mingw_bin_prefix + "gcc-ranlib" (I do also wonder if |
I can confirm that commenting out the |
Doesn't that risk breaking creoss-compilation from other platforms though? |
TEMPFILE is the built-in way of SCons to use a response file for command lines that are too long.
@bruvzg This can replace #96220.