| ... | ... | @@ -47,7 +47,7 @@ Ensure you have the required dependencies: |
| 47 | 47 | |
| 48 | 48 | * CMake >= 3.15 |
| 49 | 49 | * System C/C++ Toolchain |
| 50 | | * LLVM, Clang, LLD development libraries, version 22.x, compiled with the |
| 50 | * LLVM, Clang, LLD development libraries, version 23.x, compiled with the |
| 51 | 51 | same system C/C++ toolchain. |
| 52 | 52 | - If the system package manager lacks these libraries, or has them misconfigured, |
| 53 | 53 | see below for how to build them from source. |
| ... | ... | @@ -257,15 +257,15 @@ that you have **no** trailing slash (`/` or `\`) at the end of the |
| 257 | 257 | |
| 258 | 258 | Install [CMake](https://cmake.org/), version 3.20.0 or newer. |
| 259 | 259 | |
| 260 | | [Download LLVM, Clang, and LLD sources](https://releases.llvm.org/download.html#22.0.0) |
| 260 | [Download LLVM, Clang, and LLD sources](https://releases.llvm.org/download.html#23.0.0) |
| 261 | 261 | The downloads from llvm lead to the github release pages, where the source's |
| 262 | | will be listed as : `llvm-22.X.X.src.tar.xz`, `clang-22.X.X.src.tar.xz`, |
| 263 | | `lld-22.X.X.src.tar.xz`. Unzip each to their own directory. Ensure no |
| 262 | will be listed as : `llvm-23.X.X.src.tar.xz`, `clang-23.X.X.src.tar.xz`, |
| 263 | `lld-23.X.X.src.tar.xz`. Unzip each to their own directory. Ensure no |
| 264 | 264 | directories have spaces in them. For example: |
| 265 | 265 | |
| 266 | | * `C:\Users\Andy\llvm-22.0.0.src` |
| 267 | | * `C:\Users\Andy\clang-22.0.0.src` |
| 268 | | * `C:\Users\Andy\lld-22.0.0.src` |
| 266 | * `C:\Users\Andy\llvm-23.0.0.src` |
| 267 | * `C:\Users\Andy\clang-23.0.0.src` |
| 268 | * `C:\Users\Andy\lld-23.0.0.src` |
| 269 | 269 | |
| 270 | 270 | Install [Build Tools for Visual Studio |
| 271 | 271 | 2019](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019). |
| ... | ... | @@ -298,9 +298,9 @@ Using the start menu, run **x64 Native Tools Command Prompt for VS 2019** and ex |
| 298 | 298 | ##### Release Mode |
| 299 | 299 | |
| 300 | 300 | ```bat |
| 301 | | mkdir C:\Users\Andy\llvm-22.0.0.src\build-release |
| 302 | | cd C:\Users\Andy\llvm-22.0.0.src\build-release |
| 303 | | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\Andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-release-mt -DCMAKE_PREFIX_PATH=C:\Users\Andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-release-mt - |
| 301 | mkdir C:\Users\Andy\llvm-23.0.0.src\build-release |
| 302 | cd C:\Users\Andy\llvm-23.0.0.src\build-release |
| 303 | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\Andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-release-mt -DCMAKE_PREFIX_PATH=C:\Users\Andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-release-mt - |
| 304 | 304 | DLLVM_ENABLE_ZLIB=OFF -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_USE_CRT_RELEASE=MT |
| 305 | 305 | msbuild /m -p:Configuration=Release INSTALL.vcxproj |
| 306 | 306 | ``` |
| ... | ... | @@ -308,10 +308,10 @@ msbuild /m -p:Configuration=Release INSTALL.vcxproj |
| 308 | 308 | ##### Debug Mode |
| 309 | 309 | |
| 310 | 310 | ```bat |
| 311 | | mkdir C:\Users\Andy\llvm-22.0.0.src\build-debug |
| 312 | | cd C:\Users\Andy\llvm-22.0.0.src\build-debug |
| 313 | | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-debug - |
| 314 | | DLLVM_ENABLE_ZLIB=OFF -DCMAKE_PREFIX_PATH=C:\Users\andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-debug -DCMAKE_BUILD_TYPE=Debug -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="AVR" -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_USE_CRT_DEBUG=MTd |
| 311 | mkdir C:\Users\Andy\llvm-23.0.0.src\build-debug |
| 312 | cd C:\Users\Andy\llvm-23.0.0.src\build-debug |
| 313 | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-debug - |
| 314 | DLLVM_ENABLE_ZLIB=OFF -DCMAKE_PREFIX_PATH=C:\Users\andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-debug -DCMAKE_BUILD_TYPE=Debug -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="AVR" -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_USE_CRT_DEBUG=MTd |
| 315 | 315 | msbuild /m INSTALL.vcxproj |
| 316 | 316 | ``` |
| 317 | 317 | |
| ... | ... | @@ -322,18 +322,18 @@ Using the start menu, run **x64 Native Tools Command Prompt for VS 2019** and ex |
| 322 | 322 | ##### Release Mode |
| 323 | 323 | |
| 324 | 324 | ```bat |
| 325 | | mkdir C:\Users\Andy\lld-22.0.0.src\build-release |
| 326 | | cd C:\Users\Andy\lld-22.0.0.src\build-release |
| 327 | | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\Andy\llvm+clang+lld-14.0.6-x86_64-windows-msvc-release-mt -DCMAKE_PREFIX_PATH=C:\Users\Andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-release-mt -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_CRT_RELEASE=MT |
| 325 | mkdir C:\Users\Andy\lld-23.0.0.src\build-release |
| 326 | cd C:\Users\Andy\lld-23.0.0.src\build-release |
| 327 | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\Andy\llvm+clang+lld-14.0.6-x86_64-windows-msvc-release-mt -DCMAKE_PREFIX_PATH=C:\Users\Andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-release-mt -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_CRT_RELEASE=MT |
| 328 | 328 | msbuild /m -p:Configuration=Release INSTALL.vcxproj |
| 329 | 329 | ``` |
| 330 | 330 | |
| 331 | 331 | ##### Debug Mode |
| 332 | 332 | |
| 333 | 333 | ```bat |
| 334 | | mkdir C:\Users\Andy\lld-22.0.0.src\build-debug |
| 335 | | cd C:\Users\Andy\lld-22.0.0.src\build-debug |
| 336 | | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-debug -DCMAKE_PREFIX_PATH=C:\Users\andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-debug -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_CRT_DEBUG=MTd |
| 334 | mkdir C:\Users\Andy\lld-23.0.0.src\build-debug |
| 335 | cd C:\Users\Andy\lld-23.0.0.src\build-debug |
| 336 | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-debug -DCMAKE_PREFIX_PATH=C:\Users\andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-debug -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_CRT_DEBUG=MTd |
| 337 | 337 | msbuild /m INSTALL.vcxproj |
| 338 | 338 | ``` |
| 339 | 339 | |
| ... | ... | @@ -344,18 +344,18 @@ Using the start menu, run **x64 Native Tools Command Prompt for VS 2019** and ex |
| 344 | 344 | ##### Release Mode |
| 345 | 345 | |
| 346 | 346 | ```bat |
| 347 | | mkdir C:\Users\Andy\clang-22.0.0.src\build-release |
| 348 | | cd C:\Users\Andy\clang-22.0.0.src\build-release |
| 349 | | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\Andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-release-mt -DCMAKE_PREFIX_PATH=C:\Users\Andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-release-mt -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_CRT_RELEASE=MT |
| 347 | mkdir C:\Users\Andy\clang-23.0.0.src\build-release |
| 348 | cd C:\Users\Andy\clang-23.0.0.src\build-release |
| 349 | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\Andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-release-mt -DCMAKE_PREFIX_PATH=C:\Users\Andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-release-mt -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_CRT_RELEASE=MT |
| 350 | 350 | msbuild /m -p:Configuration=Release INSTALL.vcxproj |
| 351 | 351 | ``` |
| 352 | 352 | |
| 353 | 353 | ##### Debug Mode |
| 354 | 354 | |
| 355 | 355 | ```bat |
| 356 | | mkdir C:\Users\Andy\clang-22.0.0.src\build-debug |
| 357 | | cd C:\Users\Andy\clang-22.0.0.src\build-debug |
| 358 | | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-debug -DCMAKE_PREFIX_PATH=C:\Users\andy\llvm+clang+lld-22.0.0-x86_64-windows-msvc-debug -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_CRT_DEBUG=MTd |
| 356 | mkdir C:\Users\Andy\clang-23.0.0.src\build-debug |
| 357 | cd C:\Users\Andy\clang-23.0.0.src\build-debug |
| 358 | "c:\Program Files\CMake\bin\cmake.exe" .. -Thost=x64 -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:\Users\andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-debug -DCMAKE_PREFIX_PATH=C:\Users\andy\llvm+clang+lld-23.0.0-x86_64-windows-msvc-debug -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_CRT_DEBUG=MTd |
| 359 | 359 | msbuild /m INSTALL.vcxproj |
| 360 | 360 | ``` |
| 361 | 361 | |
| ... | ... | @@ -371,14 +371,14 @@ This is the generally recommended approach. |
| 371 | 371 | |
| 372 | 372 | ```sh |
| 373 | 373 | cd ~/Downloads |
| 374 | | git clone --depth 1 --branch release/22.x https://github.com/llvm/llvm-project llvm-project-22 |
| 375 | | cd llvm-project-22 |
| 376 | | git checkout release/22.x |
| 374 | git clone --depth 1 --branch release/23.x https://github.com/llvm/llvm-project llvm-project-23 |
| 375 | cd llvm-project-23 |
| 376 | git checkout release/23.x |
| 377 | 377 | |
| 378 | 378 | mkdir build-release |
| 379 | 379 | cd build-release |
| 380 | 380 | cmake ../llvm \ |
| 381 | | -DCMAKE_INSTALL_PREFIX=$HOME/local/llvm22-assert \ |
| 381 | -DCMAKE_INSTALL_PREFIX=$HOME/local/llvm23-assert \ |
| 382 | 382 | -DCMAKE_BUILD_TYPE=Release \ |
| 383 | 383 | -DLLVM_ENABLE_PROJECTS="lld;clang" \ |
| 384 | 384 | -DLLVM_ENABLE_LIBXML2=OFF \ |
| ... | ... | @@ -398,16 +398,16 @@ others are in Release mode. |
| 398 | 398 | |
| 399 | 399 | ```sh |
| 400 | 400 | cd ~/Downloads |
| 401 | | git clone --depth 1 --branch release/22.x https://github.com/llvm/llvm-project llvm-project-22 |
| 402 | | cd llvm-project-22 |
| 403 | | git checkout release/22.x |
| 401 | git clone --depth 1 --branch release/23.x https://github.com/llvm/llvm-project llvm-project-23 |
| 402 | cd llvm-project-23 |
| 403 | git checkout release/23.x |
| 404 | 404 | |
| 405 | 405 | # LLVM |
| 406 | 406 | mkdir llvm/build-debug |
| 407 | 407 | cd llvm/build-debug |
| 408 | 408 | cmake .. \ |
| 409 | | -DCMAKE_INSTALL_PREFIX=$HOME/local/llvm22-debug \ |
| 410 | | -DCMAKE_PREFIX_PATH=$HOME/local/llvm22-debug \ |
| 409 | -DCMAKE_INSTALL_PREFIX=$HOME/local/llvm23-debug \ |
| 410 | -DCMAKE_PREFIX_PATH=$HOME/local/llvm23-debug \ |
| 411 | 411 | -DCMAKE_BUILD_TYPE=Debug \ |
| 412 | 412 | -DLLVM_ENABLE_LIBXML2=OFF \ |
| 413 | 413 | -DLLVM_ENABLE_TERMINFO=OFF \ |
| ... | ... | @@ -421,8 +421,8 @@ cd ../.. |
| 421 | 421 | mkdir lld/build-debug |
| 422 | 422 | cd lld/build-debug |
| 423 | 423 | cmake .. \ |
| 424 | | -DCMAKE_INSTALL_PREFIX=$HOME/local/llvm22-debug \ |
| 425 | | -DCMAKE_PREFIX_PATH=$HOME/local/llvm22-debug \ |
| 424 | -DCMAKE_INSTALL_PREFIX=$HOME/local/llvm23-debug \ |
| 425 | -DCMAKE_PREFIX_PATH=$HOME/local/llvm23-debug \ |
| 426 | 426 | -DCMAKE_BUILD_TYPE=Release \ |
| 427 | 427 | -DLLVM_PARALLEL_LINK_JOBS=1 \ |
| 428 | 428 | -DCMAKE_CXX_STANDARD=17 \ |
| ... | ... | @@ -434,8 +434,8 @@ cd ../.. |
| 434 | 434 | mkdir clang/build-debug |
| 435 | 435 | cd clang/build-debug |
| 436 | 436 | cmake .. \ |
| 437 | | -DCMAKE_INSTALL_PREFIX=$HOME/local/llvm22-debug \ |
| 438 | | -DCMAKE_PREFIX_PATH=$HOME/local/llvm22-debug \ |
| 437 | -DCMAKE_INSTALL_PREFIX=$HOME/local/llvm23-debug \ |
| 438 | -DCMAKE_PREFIX_PATH=$HOME/local/llvm23-debug \ |
| 439 | 439 | -DCMAKE_BUILD_TYPE=Release \ |
| 440 | 440 | -DLLVM_PARALLEL_LINK_JOBS=1 \ |
| 441 | 441 | -DLLVM_INCLUDE_TESTS=OFF \ |
| ... | ... | @@ -445,8 +445,8 @@ cd ../.. |
| 445 | 445 | ``` |
| 446 | 446 | |
| 447 | 447 | Then add to your Zig CMake line that you got from the README.md: |
| 448 | | `-DCMAKE_PREFIX_PATH=$HOME/local/llvm22-debug` or |
| 449 | | `-DCMAKE_PREFIX_PATH=$HOME/local/llvm22-assert` depending on whether you want |
| 448 | `-DCMAKE_PREFIX_PATH=$HOME/local/llvm23-debug` or |
| 449 | `-DCMAKE_PREFIX_PATH=$HOME/local/llvm23-assert` depending on whether you want |
| 450 | 450 | Debug or Release LLVM. |
| 451 | 451 | |
| 452 | 452 | |