-
-
Notifications
You must be signed in to change notification settings - Fork 31.4k
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
gh-109515: Allow a large number of frozen modules on Windows #109516
gh-109515: Allow a large number of frozen modules on Windows #109516
Conversation
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
Misc/NEWS.d/next/Build/2023-09-17-15-17-53.gh-issue-109515.zpEECA.rst
Outdated
Show resolved
Hide resolved
We always squash merge PRs and rewrite the commit messages, don't worry about the change history. |
Co-authored-by: Steve Dower <steve.dower@microsoft.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
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.
I'm okay with this, but I'm not the maintainer of this code. Not sure who cares about it most, but they can merge it (or I'll get it in a couple of weeks if nobody cares)
PCbuild/_freeze_module.vcxproj
Outdated
<ItemGroup> | ||
<!-- BEGIN freeze mappings --> |
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.
It would be nice to fix the indentation on these lines. I don't see where it is though.
Otherwise anyone who edits this file manually is likely to fix it and trigger regeneration.
Devguide lists Guido & Kumar as deepfreeze experts. A |
Tools/build/freeze_modules.py
Outdated
@@ -659,8 +662,7 @@ def regen_pcbuild(modules): | |||
filterlines.append(f' <None Include="..\\{pyfile}">') | |||
filterlines.append(' <Filter>Python Files</Filter>') | |||
filterlines.append(' </None>') | |||
deepfreezerules.append(f'\t\t "$(PySourcePath){header}:{src.frozenid}" ^') | |||
deepfreezerules.append('\t\t "-o" "$(PySourcePath)Python\\deepfreeze\\deepfreeze.c"\'/>' ) | |||
deepfreezemappings.append(f' <FrozenModule Include="$(PySourcePath)\\{header}" FrozenId="{src.frozenid}" />\n') |
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.
I think this would solve Steve's point re indentation
deepfreezemappings.append(f' <FrozenModule Include="$(PySourcePath)\\{header}" FrozenId="{src.frozenid}" />\n') | |
deepfreezemappings.append(f' <FrozenModule Include="$(PySourcePath)\\{header}" FrozenId="{src.frozenid}" />\n') |
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.
reformatted the vcxproj, now everything seems aligned
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.
Changes to deepfreeze.py LGTM (one nit for the help message). I'll leave the rest to Steve and Adam!
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
ahem, ping? |
Thanks for the ping! |
There are a bunch of buildbot failures, but they may be due to gh-110764. |
well, I don´t think it's due to this change, since it affects only the pre-build frozen module generator on windows builds and all error messages seem to be "define _Py_ThreadId for this platform" |
…a list file instead of arguments (pythonGH-109516)
…a list file instead of arguments (pythonGH-109516)
…a list file instead of arguments (pythonGH-109516)
This PR changes freezing modules compilation on windows by writing freezing module paths into a file instead of the command line.
Non-windows builds are unchanged