Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

gh-102255: Improve build support on xbox #102256

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

Merged
merged 104 commits into from
Mar 9, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
58ab04a
better support building on non desktop windows systems
maxbachmann Feb 24, 2023
66a68bd
stub posix apis
maxbachmann Feb 25, 2023
26f5a44
add basic isabs implementation
maxbachmann Feb 25, 2023
68a1f67
implement isxfile
maxbachmann Feb 25, 2023
492bac0
fix static linking
maxbachmann Feb 25, 2023
26b4b24
fix guards
maxbachmann Feb 25, 2023
467bf40
add MS_XBOX
maxbachmann Feb 25, 2023
e734492
cleanup
maxbachmann Feb 25, 2023
fad23bc
use winsock2 on xbox
maxbachmann Feb 26, 2023
b6b28ec
stub winreg
maxbachmann Feb 26, 2023
cdbb1f2
rename to MS_GAMES
maxbachmann Feb 26, 2023
e7622cc
fix guard
maxbachmann Feb 26, 2023
7812891
add missing semicolon
maxbachmann Feb 26, 2023
3b005f4
remove windows console
maxbachmann Feb 26, 2023
fa526b6
do not read version from kernel32.dll
maxbachmann Feb 26, 2023
36887bc
apply part of code review
maxbachmann Feb 26, 2023
6fe3018
reduce diff
maxbachmann Feb 26, 2023
8499940
regenerate argument clinic
maxbachmann Feb 26, 2023
69f0a2c
include winioctl
maxbachmann Feb 26, 2023
f43ce54
exclude dll_directory
maxbachmann Feb 26, 2023
43cf0a5
patch mscvrtmodule
maxbachmann Feb 26, 2023
8f717ea
patch _winapi
maxbachmann Feb 26, 2023
29d5b65
📜🤖 Added by blurb_it.
blurb-it[bot] Feb 26, 2023
8a73500
patch out tzset
maxbachmann Feb 26, 2023
92ae5ef
patch support_wsa_no_inherit
maxbachmann Feb 26, 2023
f27fe95
patch scoketmodule
maxbachmann Feb 26, 2023
f15d9e2
PathCchCombineEx is unavailable on xbox
maxbachmann Feb 26, 2023
d816baa
patch out remaining funcs
maxbachmann Feb 26, 2023
2ba0a87
Merge branch 'main' into xbox
maxbachmann Feb 26, 2023
ed17e03
apply code review
maxbachmann Feb 26, 2023
c360b4a
cleanup
maxbachmann Feb 26, 2023
3b5b119
remove unneded defined
maxbachmann Feb 26, 2023
975191a
regenerate argument clinic
maxbachmann Feb 26, 2023
91a95f2
remove unused function
maxbachmann Feb 26, 2023
3be5fa7
use processsnapshot api
maxbachmann Feb 26, 2023
6bd1207
simplify implementation
maxbachmann Feb 26, 2023
ca98366
simplify implementation
maxbachmann Feb 26, 2023
fac3431
follow pep7
maxbachmann Feb 26, 2023
c1bf0e2
follow pep7
maxbachmann Feb 26, 2023
ace99f6
Update Modules/posixmodule.c
maxbachmann Feb 26, 2023
e83d398
remove duplicated comment
maxbachmann Feb 26, 2023
76ea310
test error message as well
maxbachmann Feb 26, 2023
2f1d19c
fix condition
maxbachmann Feb 26, 2023
559199f
use sys._base_executable
maxbachmann Feb 26, 2023
b119bf5
do not build mmap on unsupported platforms
maxbachmann Feb 26, 2023
1dd69e8
Apply suggestions from code review
maxbachmann Feb 27, 2023
a1e6dba
add inheritable back
maxbachmann Feb 27, 2023
7a45988
Update Python/fileutils.c
maxbachmann Feb 27, 2023
846f8eb
Update Python/fileutils.c
maxbachmann Feb 27, 2023
a56f215
add back some winreg APIs
maxbachmann Feb 27, 2023
191cab2
regenerate argument clinic
maxbachmann Feb 27, 2023
144280e
do not name platform xbox
maxbachmann Feb 27, 2023
ca9f7d9
exclude functions
maxbachmann Feb 27, 2023
30c0818
implement without nt._path_splitroot
maxbachmann Feb 27, 2023
6ebb05b
Update Modules/socketmodule.c
maxbachmann Feb 27, 2023
fc5c642
apply some code review change requests
maxbachmann Feb 27, 2023
5f286a7
get rid of support_wsa_no_inherit
maxbachmann Feb 27, 2023
3be5e3c
implement _path_splitroot
maxbachmann Feb 27, 2023
d9e1663
Merge branch 'main' into xbox
maxbachmann Feb 28, 2023
2a2a8fd
fix revert of changes to _bootstrap_external
maxbachmann Feb 28, 2023
165286d
reimplement winreg_QueryValue_impl and winreg_SetValue_impl
maxbachmann Feb 28, 2023
1413849
Update Python/fileutils.c
maxbachmann Feb 28, 2023
6465d73
move skip root to own function
maxbachmann Feb 28, 2023
3f0c6f0
cleanup
maxbachmann Feb 28, 2023
8f3a262
better handle joinfile on xbox
maxbachmann Feb 28, 2023
6b8074e
cleanup
maxbachmann Feb 28, 2023
99b6a1d
Update Modules/socketmodule.c
maxbachmann Feb 28, 2023
d0e548d
define missing flags on non desktop builds
maxbachmann Feb 28, 2023
c569a18
set inherit in WASSocketW
maxbachmann Feb 28, 2023
3e86c9e
add back dynamic loading
maxbachmann Feb 28, 2023
d5cb524
more cleanup
maxbachmann Feb 28, 2023
63267d8
rename platform defines
maxbachmann Feb 28, 2023
79f2bfe
add missing inherit flag
maxbachmann Feb 28, 2023
fc6b942
fix guard
maxbachmann Feb 28, 2023
05e9859
use api partititions
maxbachmann Feb 28, 2023
9769662
fix guards
maxbachmann Feb 28, 2023
8f12bf8
add missing include
maxbachmann Mar 1, 2023
509d0f5
Merge branch 'main' into xbox
maxbachmann Mar 1, 2023
f20fea8
apply code review
maxbachmann Mar 1, 2023
e33a42f
move replacement functions into fileutils
maxbachmann Mar 1, 2023
556a8e1
disable dynamic load of pythoncore for static lib
maxbachmann Mar 1, 2023
aa8964b
Merge branch 'main' into xbox
maxbachmann Mar 1, 2023
74258ca
use core dll for windows specific
maxbachmann Mar 1, 2023
686da59
Update Python/fileutils.c
maxbachmann Mar 1, 2023
b151f7f
apply code review
maxbachmann Mar 1, 2023
39d2d13
rename to PathCchCombineEx
maxbachmann Mar 1, 2023
2895563
define for all BUILD_CORE
maxbachmann Mar 1, 2023
8e3d3c5
cleanup
maxbachmann Mar 1, 2023
659d1a3
Update Modules/_randommodule.c
maxbachmann Mar 1, 2023
e9ff60e
add MS_WINDOWS_CRT_DESKTOP
maxbachmann Mar 2, 2023
32c4886
Update Modules/posixmodule.c
maxbachmann Mar 2, 2023
2f1fe40
Update Modules/posixmodule.c
maxbachmann Mar 2, 2023
5854e91
revert MS_WINDOWS_CRT_DESKTOP
maxbachmann Mar 2, 2023
d3d2e1c
use MS_WINDOWS_SYSTEM
maxbachmann Mar 3, 2023
b1ffce9
Apply suggestions from code review
maxbachmann Mar 3, 2023
0b4d407
Update Modules/socketmodule.c
maxbachmann Mar 3, 2023
d9976dc
handle failing malloc
maxbachmann Mar 3, 2023
427de79
Update Modules/posixmodule.c
maxbachmann Mar 4, 2023
603cea7
Update Python/fileutils.c
maxbachmann Mar 6, 2023
6db80a3
Update Include/internal/pycore_fileutils.h
maxbachmann Mar 6, 2023
4d78066
Update Include/internal/pycore_fileutils.h
maxbachmann Mar 6, 2023
65cdd56
Update Python/fileutils.c
maxbachmann Mar 6, 2023
35217ab
Update Python/fileutils.c
maxbachmann Mar 7, 2023
331b1f4
dynamically import from api-ms-win-core-path-l1-1-0.dll
maxbachmann Mar 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add MS_XBOX
  • Loading branch information
maxbachmann authored Feb 25, 2023
commit 467bf40dc3808cf53889b4a132dbefa2b327a502
2 changes: 1 addition & 1 deletion 2 Modules/_posixsubprocess.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
#endif

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define dup _dup
# define dup2 _dup2
#endif
Expand Down
11 changes: 7 additions & 4 deletions 11 Modules/getpath.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
#ifdef MS_WINDOWS
# include <windows.h> // GetFullPathNameW(), MAX_PATH
# include <pathcch.h>

# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
# ifdef MS_XBOX
# define wcsicmp _wcsicmp
# endif
#endif
Expand Down Expand Up @@ -221,6 +220,10 @@ getpath_isfile(PyObject *Py_UNUSED(self), PyObject *args)
static PyObject *
getpath_isxfile(PyObject *Py_UNUSED(self), PyObject *args)
{
#ifdef MS_XBOX
/* having other executables on */
Py_RETURN_FALSE;

PyObject *r = NULL;
PyObject *pathobj;
const wchar_t *path;
Expand All @@ -232,13 +235,13 @@ getpath_isxfile(PyObject *Py_UNUSED(self), PyObject *args)
if (path) {
#ifdef MS_WINDOWS
const wchar_t *ext;
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
ext = (cchPath >= 4) ? path + cchPath - 4 : NULL;
#endif
DWORD attr = GetFileAttributesW(path);
r = (attr != INVALID_FILE_ATTRIBUTES) &&
!(attr & FILE_ATTRIBUTE_DIRECTORY) &&
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
(ext != NULL) &&
#else
SUCCEEDED(PathCchFindExtension(path, cchPath + 1, &ext)) &&
Expand Down
2 changes: 1 addition & 1 deletion 2 Modules/mmapmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
#endif

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define lseek _lseek
#endif

Expand Down
4 changes: 2 additions & 2 deletions 4 Modules/posixmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ corresponding Unix manual entries for more information on calls.");
# define HAVE_PIPE 1
# define HAVE_FSYNC 1
# define fsync _commit
# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
# ifdef MS_XBOX
# define dup2 _dup2
# define umask _umask
# define close _close
Expand Down Expand Up @@ -4479,7 +4479,7 @@ os__path_splitroot_impl(PyObject *module, path_t *path)
*p = L'\\';
}

#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
/* this does not handle persistent local storage */
ret = E_FAIL;
if ((wcsncmp(buffer, L"G:\\", 3) == 0) || (wcsncmp(buffer, L"D:\\", 3) == 0) || (wcsncmp(buffer, L"T:\\", 3) == 0)) {
Expand Down
2 changes: 1 addition & 1 deletion 2 Objects/fileobject.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#include "pycore_runtime.h" // _PyRuntime

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define isatty _isatty
# define fileno _fileno
#endif
Expand Down
2 changes: 1 addition & 1 deletion 2 Objects/object.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#endif

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define fileno _fileno
#endif

Expand Down
2 changes: 1 addition & 1 deletion 2 Objects/obmalloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include <stdbool.h>

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define fileno _fileno
#endif

Expand Down
8 changes: 7 additions & 1 deletion 8 PC/pyconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ WIN32 is still required for the locale module.
#define MS_WINDOWS_NON_DESKTOP
#endif

#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#define MS_XBOX
#endif
maxbachmann marked this conversation as resolved.
Show resolved Hide resolved

/* Compiler specific defines */

/* ------------------------------------------------------------------------*/
Expand Down Expand Up @@ -498,7 +502,9 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
/* #define HAVE_CLOCK */

/* Define when any dynamic module loading is enabled */
#define HAVE_DYNAMIC_LOADING
#ifndef MS_XBOX
# define HAVE_DYNAMIC_LOADING
maxbachmann marked this conversation as resolved.
Show resolved Hide resolved
#endif

/* Define if you have ftime. */
#define HAVE_FTIME
Expand Down
2 changes: 1 addition & 1 deletion 2 Parser/myreadline.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# define WIN32_LEAN_AND_MEAN
# endif
# include "windows.h"
# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
# ifdef MS_XBOX
# define isatty _isatty
# define fileno _fileno
# endif
Expand Down
2 changes: 1 addition & 1 deletion 2 Parser/tokenizer.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#include "abstract.h"

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define fdopen _fdopen
# define lseek _lseek
# define fileno _fileno
Expand Down
2 changes: 1 addition & 1 deletion 2 Python/bltinmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#include "clinic/bltinmodule.c.h"

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define isatty _isatty
# define fileno _fileno
#endif
Expand Down
4 changes: 2 additions & 2 deletions 4 Python/fileutils.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ int _Py_open_cloexec_works = -1;
#endif

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define dup _dup
# define open _open
# define read _read
Expand Down Expand Up @@ -2030,7 +2030,7 @@ _Py_wrealpath(const wchar_t *path,
int
_Py_isabs(const wchar_t *path)
{
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
/* this does not handle persistent local storage */
return (wcsncmp(path, L"G:\\", 3) == 0)
|| (wcsncmp(path, L"D:\\", 3) == 0)
Expand Down
2 changes: 1 addition & 1 deletion 2 Python/initconfig.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
# ifdef HAVE_FCNTL_H
# include <fcntl.h> // O_BINARY
# endif
# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
# ifdef MS_XBOX
# define fileno _fileno
# endif
#endif
Expand Down
2 changes: 1 addition & 1 deletion 2 Python/marshal.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include "marshal.h" // Py_MARSHAL_VERSION

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define fileno _fileno
#endif

Expand Down
2 changes: 1 addition & 1 deletion 2 Python/pylifecycle.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ extern void _PyIO_Fini(void);
#endif

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define isatty _isatty
# define fileno _fileno
#endif
Expand Down
2 changes: 1 addition & 1 deletion 2 Python/sysmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Data members:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define fileno _fileno
#endif
#endif /* MS_WINDOWS */
Expand Down
2 changes: 1 addition & 1 deletion 2 Python/traceback.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#endif

/* the deprecated posix apis are not available on xbox */
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#ifdef MS_XBOX
# define lseek _lseek
#endif

Expand Down
Morty Proxy This is a proxified and sanitized view of the page, visit original site.