diff --git a/Misc/NEWS.d/next/Build/2026-07-09-10-37-00.gh-issue-118860.abc123.rst b/Misc/NEWS.d/next/Build/2026-07-09-10-37-00.gh-issue-118860.abc123.rst new file mode 100644 index 000000000000000..49018956438c9f4 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2026-07-09-10-37-00.gh-issue-118860.abc123.rst @@ -0,0 +1 @@ +Clarify the use of ``Py_OutDir`` and ``PC/layout`` for customizing the build output directory in ``PCbuild/readme.txt``. diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt index 7c5eab2eb75a1de..9c8bceada8cfdd6 100644 --- a/PCbuild/readme.txt +++ b/PCbuild/readme.txt @@ -105,6 +105,17 @@ the 32-bit Win32 platform. It accepts several arguments to change this behavior, try `build.bat -h` to learn more. +Custom Output Directory +----------------------- + +If you want to move the build outputs to a different directory, do not use the standard MSBuild `/p:OutDir=` property, as CPython has many assumptions about where the source repository is relative to the built files. +Instead, you can override the output directory by setting `Py_OutDir` (for example, `build.bat "/p:Py_OutDir=C:\MyOutput"`). + +However, be aware that the compiled binaries probably won't run directly from that location. If you want to make an install-shaped layout without creating the installer, build CPython normally first, and then use the `PC/layout` script with the runtime you just built: + python.bat PC/layout -- +Use `-h` with that command to see all available options for customizing the layout. + + C Runtime ---------