You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Tools/jit/README.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,6 +43,15 @@ Homebrew won't add any of the tools to your `$PATH`. That's okay; the build scri
43
43
44
44
LLVM is downloaded automatically (along with other external binary dependencies) by `PCbuild\build.bat`.
45
45
46
+
By default, the architecture of the LLVM tools is auto-detected based on the host machine. To override this, set the `PreferredToolArchitecture` environment variable before building:
47
+
48
+
```sh
49
+
set PreferredToolArchitecture=AMD64
50
+
PCbuild\build.bat --experimental-jit
51
+
```
52
+
53
+
Valid values are`x64`, `x86` and `ARM64`.
54
+
46
55
Otherwise, you can install LLVM 21 [by searching for it on LLVM's GitHub releases page](https://github.com/llvm/llvm-project/releases?q=21), clicking on "Assets", downloading the appropriate Windows installer for your platform (likely the file ending with `-win64.exe`), and running it. **When installing, be sure to select the option labeled "Add LLVM to the system PATH".**
47
56
48
57
Alternatively, you can use [chocolatey](https://chocolatey.org):
Copy file name to clipboardExpand all lines: Tools/jit/jit_infra.md
+15-8Lines changed: 15 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,21 +8,28 @@ When we update LLVM, we need to also update the LLVM release artifact for Window
8
8
9
9
To update the LLVM release artifact for Windows builds, follow these steps:
10
10
1. Go to the [LLVM releases page](https://github.com/llvm/llvm-project/releases).
11
-
1. Download x86_64 Windows artifact for the desired LLVM version (e.g. `clang+llvm-21.1.4-x86_64-pc-windows-msvc.tar.xz`).
12
-
1. Extract and repackage the tarball with the correct directory structure. For example:
11
+
1. Download Windows artifacts for the desired LLVM version (e.g. `clang+llvm-21.1.4-x86_64-pc-windows-msvc.tar.xz` and `clang+llvm-21.1.4-aarch64-pc-windows-msvc.tar.xz`).
12
+
1. Extract and repackage each tarball with the correct directory structure. For example:
13
13
```bash
14
+
# For x86_64 (AMD64)
14
15
tar -xf clang+llvm-21.1.4-x86_64-pc-windows-msvc.tar.xz
tar -cf - llvm-21.1.4.0 | pv | xz > llvm-21.1.4.0-ARM64.tar.xz
17
24
```
18
-
The tarball must contain a top-level directory named `llvm-{version}.0/`.
25
+
Each tarball must contain a top-level directory named `llvm-{version}.0/`.
19
26
1. Go to [cpython-bin-deps](https://github.com/python/cpython-bin-deps).
20
-
1. Create a new release with the updated LLVM artifact.
27
+
1. Create a new release with the LLVM artifacts.
21
28
- Create a new tag to match the LLVM version (e.g. `llvm-21.1.4.0`).
22
-
- Specify the release title (e.g. `LLVM 21.1.4 for x86_64 Windows`).
23
-
- Upload the asset (you can leave all other fields the same).
29
+
- Specify the release title (e.g. `LLVM 21.1.4`).
30
+
- Upload both platform-specific assets to the same release.
24
31
25
32
### Other notes
26
33
- You must make sure that the name of the artifact matches exactly what is expected in `Tools/jit/_llvm.py` and `PCbuild/get_externals.py`.
27
-
-We don't need multiple release artifacts for each architecture because LLVM can cross-compile for different architectures on Windows; x86_64 is sufficient.
34
+
-The artifact filename must include the architecture suffix (e.g. `llvm-21.1.4.0-x64.tar.xz`, `llvm-21.1.4.0-ARM64.tar.xz`).
28
35
- You must have permissions to create releases in the `cpython-bin-deps` repository. If you don't have permissions, you should contact one of the organization admins.
0 commit comments