1DOLLY 72TOOLCHAIN llvm-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 24 configured by CMake inside Dolly, its TableGen tools and outputs.12FROM /v0.1.4/demos/cmake/Dollyfile-cmake-build e9a42d1ad1b8c35d3a6543a28306dc2d88e90e114bd3e6df892ffec05fbcfd5f13# LLVM's CMake requires a Python 3 interpreter.14INSTALL /v0.1.4/demos/python/Dollyfile-python 3e3b6f083bff4d9be1a817d8fa142378e2c0b492c42998e71977e2c309bdddb315# Configure the pinned LLVM 24 tree as llvm-build configures it for the seed's16# compiler, then build and run its TableGen tools.17REQUIRES TOOL cmake18REQUIRES TOOL make19REQUIRES TOOL python20REQUIRES TOOL cc21REQUIRES TOOL c++22REQUIRES TOOL gzip23REQUIRES TOOL tar24REQUIRES TOOL patch25REQUIRES TOOL time26REQUIRES TOOL find27REQUIRES TOOL cp28REQUIRES TOOL mkdir29REQUIRES TOOL rm3031SOURCE /v0.1.4/dist/static/llvm/llvm-project.tar.gz 033390c4520e51f261eb7572f0a1b4a1592121a1c8c1fc0c3db4845b079a8882 /tmp/llvm-project.tar.gz32SLOP time slop -c 'gzip -dc /tmp/llvm-project.tar.gz | tar -xf - -C /'33SLOP rm /tmp/llvm-project.tar.gz34# LLVM runs config.guess even when LLVM_HOST_TRIPLE is given; it knows no Dolly host.35# Its one platform list without a portable branch (is_local) gains Dolly.36SOURCE /v0.1.4/dist/static/llvm/llvm-host-triple.patch ec739fd5932c1040d07344a8511bae4da4157ff2bcafa348f06a555b71a10981 /tmp/llvm-host-triple.patch37SLOP patch -p1 -d /tmp/llvm-project -i /tmp/llvm-host-triple.patch3839# C probes and sources get Clang's default gnu17 as in the seed; Dolly's cc40# defaults to strict c17 (tasks/20260930-100000-audit-41).41# ADT/bit.h includes <endian.h> by platform name and otherwise expects BYTE_ORDER.42SLOP time cmake -S /tmp/llvm-project/llvm -B /tmp/llvm-build \43  -DCMAKE_BUILD_TYPE=Release \44  -DCMAKE_C_FLAGS=-std=gnu17 \45  '-DCMAKE_CXX_FLAGS=-include endian.h' \46  -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON \47  -DCMAKE_RULE_MESSAGES=OFF \48  -DLLVM_ENABLE_PROJECTS='clang;lld' \49  -DLLVM_TARGETS_TO_BUILD=WebAssembly \50  -DLLVM_HOST_TRIPLE=wasm64-unknown-emscripten \51  -DLLVM_DEFAULT_TARGET_TRIPLE=wasm64-unknown-emscripten \52  -DLLVM_ENABLE_THREADS=OFF \53  -DLLVM_INCLUDE_TESTS=OFF \54  -DLLVM_INCLUDE_EXAMPLES=OFF \55  -DLLVM_INCLUDE_BENCHMARKS=OFF \56  -DLLVM_INCLUDE_DOCS=OFF \57  -DLLVM_ENABLE_TERMINFO=OFF \58  -DLLVM_ENABLE_LIBEDIT=OFF \59  -DLLVM_ENABLE_LIBPFM=OFF \60  -DLLVM_ENABLE_ZLIB=OFF \61  -DLLVM_ENABLE_ZSTD=OFF \62  -DLLVM_ENABLE_LIBXML2=OFF \63  -DLLVM_ENABLE_CURL=OFF \64  -DLLVM_ENABLE_BINDINGS=OFF \65  -DLLVM_BUILD_LLVM_DYLIB=OFF \66  -DLLVM_LINK_LLVM_DYLIB=OFF6768# Each job is three processes (Slop, c++, compiler); -j8 exceeds the 32-process cap.69SLOP CWD /tmp/llvm-build time make -j4 llvm-min-tblgen llvm-tblgen clang-tblgen70# The TableGen targets the seed compiler's libraries depend on.71SLOP CWD /tmp/llvm-build time make -j4 clang-tablegen-targets intrinsics_gen omp_gen acc_gen vt_gen \72  target_parser_gen analysis_gen WebAssemblyCommonTableGen WasmOptionsTableGen ClangAttrDocTable \73  ClangOpenCLBuiltinsImpl Opcodes hlsl-resource-headers74SLOP CWD /tmp/llvm-build cp bin/llvm-min-tblgen bin/llvm-tblgen bin/clang-tblgen /usr/bin75# Configured headers and TableGen outputs, by build-tree path.76SLOP CWD /tmp/llvm-build slop -c 'for f in $(find . -name CMakeFiles -prune -o -type f \( -name "*.inc" -o -name "*.def" -o -name "*.h" \) -print); do mkdir -p "/usr/share/llvm-tablegen/${f%/*}"; cp "$f" "/usr/share/llvm-tablegen/$f"; done'7778EXPORTS TOOL llvm-min-tblgen79EXPORTS TOOL llvm-tblgen80EXPORTS TOOL clang-tblgen81FOLDER /usr/share/llvm-tablegen82SLOP llvm-tblgen --version8384ENTRY /bin/foreground -i /bin/slop85