Skip to content
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

Improve build support on xbox #102255

Closed
maxbachmann opened this issue Feb 25, 2023 · 1 comment
Closed

Improve build support on xbox #102255

maxbachmann opened this issue Feb 25, 2023 · 1 comment
Labels
build The build process and cross-build extension-modules C modules in the Modules dir interpreter-core (Objects, Python, Grammar, and Parser dirs) OS-windows type-feature A feature request or enhancement

Comments

@maxbachmann
Copy link
Contributor

maxbachmann commented Feb 25, 2023

Feature or enhancement

Since there are probably more game studios using Python for their game scripting, it would be great to have better build support for CPython on the xbox. The xbox runs a windows, but does not provide all the APIs cpython is using under windows.

Linked PRs

@maxbachmann maxbachmann added the type-feature A feature request or enhancement label Feb 25, 2023
@AlexWaygood AlexWaygood added the build The build process and cross-build label Feb 25, 2023
@eryksun eryksun added OS-windows interpreter-core (Objects, Python, Grammar, and Parser dirs) extension-modules C modules in the Modules dir labels Feb 25, 2023
zooba pushed a commit that referenced this issue Mar 9, 2023
Add `MS_WINDOWS_DESKTOP`, `MS_WINDOWS_APPS`, `MS_WINDOWS_SYSTEM` and `MS_WINDOWS_GAMES` preprocessor definitions to allow switching off functionality missing from particular API partitions ("partitions" are used in Windows to identify overlapping subsets of APIs).
CPython only officially supports `MS_WINDOWS_DESKTOP` and `MS_WINDOWS_SYSTEM` (APPS is included by normal desktop builds, but APPS without DESKTOP is not covered). Other configurations are a convenience for people building their own runtimes.
`MS_WINDOWS_GAMES` is for the Xbox subset of the Windows API, which is also available on client OS, but is restricted compared to `MS_WINDOWS_DESKTOP`. These restrictions may change over time, as they relate to the build headers rather than the OS support, and so we assume that Xbox builds will use the latest available version of the GDK.
@zooba
Copy link
Member

zooba commented Mar 9, 2023

Thanks @maxbachmann! This was a huge effort, but I think it's worth it. Don't shy away from adjusting things we decided here if it seems important - nothing we changed should count as a public API change, so we can revert or modify if needed.

@zooba zooba closed this as completed Mar 9, 2023
zooba pushed a commit that referenced this issue Mar 20, 2023
…t type (GH-102583)

Since we pass a structure of type `OSVERSIONINFOEX`, we need to call
`GetVersionEx` instead of `GetVersionExW`.
Fidget-Spinner pushed a commit to Fidget-Spinner/cpython that referenced this issue Mar 27, 2023
…rgument type (pythonGH-102583)

Since we pass a structure of type `OSVERSIONINFOEX`, we need to call
`GetVersionEx` instead of `GetVersionExW`.
warsaw pushed a commit to warsaw/cpython that referenced this issue Apr 11, 2023
…rgument type (pythonGH-102583)

Since we pass a structure of type `OSVERSIONINFOEX`, we need to call
`GetVersionEx` instead of `GetVersionExW`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build The build process and cross-build extension-modules C modules in the Modules dir interpreter-core (Objects, Python, Grammar, and Parser dirs) OS-windows type-feature A feature request or enhancement
Projects
None yet
Development

No branches or pull requests

4 participants