1DOLLY 72TOOLCHAIN llvm21-tablegen3REQUIRES HOST runtime@04REQUIRES HOST display@05REQUIRES HOST input@06REQUIRES HOST dso@07REQUIRES HOST http@08REQUIRES HOST sockets@09REQUIRES HOST threads@01011# Build-only: LLVM 21 with every default target, the version Zig 0.16 links,12# configured by CMake inside Dolly, and its TableGen tools.13FROM /v0.1.4/demos/cmake/Dollyfile-cmake-build e9a42d1ad1b8c35d3a6543a28306dc2d88e90e114bd3e6df892ffec05fbcfd5f14# LLVM's CMake requires a Python 3 interpreter.15INSTALL /v0.1.4/demos/python/Dollyfile-python 3e3b6f083bff4d9be1a817d8fa142378e2c0b492c42998e71977e2c309bdddb316REQUIRES TOOL cmake17REQUIRES TOOL make18REQUIRES TOOL python19REQUIRES TOOL cc20REQUIRES TOOL c++21REQUIRES TOOL gzip22REQUIRES TOOL tar23REQUIRES TOOL patch24REQUIRES TOOL time25REQUIRES TOOL cp26REQUIRES TOOL rm2728SOURCE /v0.1.4/dist/static/llvm21/llvm-project.tar.gz 3042fa04776a40e02e800b71105d7c8199b9c5dd7b951a715d0edd208238daed /tmp/llvm-project.tar.gz29SLOP time slop -c 'gzip -dc /tmp/llvm-project.tar.gz | tar -xf - -C /'30SLOP rm /tmp/llvm-project.tar.gz31# LLVM runs config.guess even when LLVM_HOST_TRIPLE is given; it knows no Dolly host.32SOURCE /v0.1.4/dist/static/llvm21/llvm-host-triple.patch ec739fd5932c1040d07344a8511bae4da4157ff2bcafa348f06a555b71a10981 /tmp/llvm-host-triple.patch33SLOP patch -p1 -d /tmp/llvm-project -i /tmp/llvm-host-triple.patch3435# As the seed's LLVM is configured (llvm-tablegen), with every target Zig36# requires (its cmake/Findllvm.cmake) and installed under /usr/lib/llvm21.37FILE /usr/lib/llvm21-build/Dolly.cmake38    set(CMAKE_BUILD_TYPE Release CACHE STRING "")39    set(CMAKE_C_FLAGS "-std=gnu17" CACHE STRING "")40    set(CMAKE_CXX_FLAGS "-include endian.h -DCLANG_BUILD_STATIC" CACHE STRING "")41    set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")42    set(CMAKE_RULE_MESSAGES OFF CACHE BOOL "")43    set(CMAKE_INSTALL_PREFIX /usr/lib/llvm21 CACHE STRING "")44    set(LLVM_ENABLE_WARNINGS OFF CACHE BOOL "")45    set(LLVM_ENABLE_PROJECTS "clang;lld" CACHE STRING "")46    set(LLVM_TARGETS_TO_BUILD "AArch64;AMDGPU;ARM;AVR;BPF;Hexagon;Lanai;LoongArch;Mips;MSP430;NVPTX;PowerPC;RISCV;SPIRV;Sparc;SystemZ;VE;WebAssembly;X86;XCore" CACHE STRING "")47    set(LLVM_HOST_TRIPLE wasm64-unknown-emscripten CACHE STRING "")48    set(LLVM_DEFAULT_TARGET_TRIPLE wasm64-unknown-emscripten CACHE STRING "")49    foreach(option THREADS TERMINFO LIBEDIT LIBPFM ZLIB ZSTD LIBXML2 CURL BINDINGS)50      set(LLVM_ENABLE_${option} OFF CACHE STRING "")51    endforeach()52    foreach(option TESTS EXAMPLES BENCHMARKS DOCS)53      set(LLVM_INCLUDE_${option} OFF CACHE BOOL "")54    endforeach()55    set(LLVM_BUILD_LLVM_DYLIB OFF CACHE BOOL "")56    set(LLVM_LINK_LLVM_DYLIB OFF CACHE BOOL "")57SLOP time cmake -C /usr/lib/llvm21-build/Dolly.cmake -S /tmp/llvm-project/llvm -B /tmp/llvm-build5859# Each job is three processes (Slop, c++, compiler); -j8 exceeds the 32-process cap.60SLOP CWD /tmp/llvm-build time make -j4 llvm-min-tblgen llvm-tblgen clang-tblgen61SLOP CWD /tmp/llvm-build cp bin/llvm-min-tblgen bin/llvm-tblgen bin/clang-tblgen /usr/bin62SLOP rm -rf /tmp/llvm-build /tmp/llvm-project6364EXPORTS TOOL llvm-min-tblgen65EXPORTS TOOL llvm-tblgen66EXPORTS TOOL clang-tblgen67FOLDER /usr/lib/llvm21-build68SLOP llvm-tblgen --version6970ENTRY /bin/foreground -i /bin/slop71