1DOLLY 72PACKAGE zig-llvm3REQUIRES HOST runtime@04# What Zig builds runs threads unless it is single-threaded: zig build's runner.5REQUIRES HOST threads@067# Zig 0.17 with its LLVM backend: zig-llvm-build's objects linked, as8# upstream's CMake build links zig2, with Zig's C++ glue (zigcpp) and LLVM,9# Clang and LLD 22, which the build uses and installers do not get.10FROM /v0.1.5/demos/zig/Dollyfile-zig-llvm-build a6b6fbf4ded5c89862f42b31e9d552a02fe3256d77cb0078285766b68a4fc39e11USE /v0.1.5/demos/llvm/Dollyfile-llvm22 89e4831b350fc4bb1c66f0c17c5e5e2cae95aef2fcbce38b0b854fd27e5d9bb812# Zig links a program for this target with cc (zig-0.17.0-dolly-llvm.patch).13INSTALL /v0.1.5/Dollyfile-cc afd89a983721972cb610d1d03ea39d5e6123d50b7b1a2b6922f1265657cc286a14REQUIRES TOOL   c++15REQUIRES TOOL   ar1617# zigcpp, with upstream's flags (CMakeLists.txt, "zigcpp target"), LLVM's18# headers where its llvm-config says (cmake/Findllvm.cmake), and the endian.h19# that llvm22's build includes for them.20SLOP CWD /usr/lib/zig-llvm-build slop -c 'for unit in zig_llvm zig_llvm-ar zig_clang_driver zig_clang_cc1_main zig_clang_cc1as_main; do \21  c++ -c -O2 -std=c++17 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden \22  -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE \23  -DLLVM_BUILD_STATIC -DCLANG_BUILD_STATIC -include endian.h -I $(/usr/lib/llvm22/bin/llvm-config --includedir) $unit.cpp -o $unit.o; done'24SLOP CWD /usr/lib/zig-llvm-build ar rcs libzigcpp.a zig_llvm.o zig_llvm-ar.o zig_clang_driver.o zig_clang_cc1_main.o zig_clang_cc1as_main.o25# Clang's and LLD's libraries by name and LLVM's as its llvm-config lists them,26# as upstream's Findclang, Findlld and Findllvm do. The stack is what upstream27# gives the compiler it ships (46 MB, build.zig) rounded up; with 58 MB of data28# that is 128 MB of initial memory.29SLOP CWD /usr/lib/zig-llvm-build slop -c 'c++ -o /usr/bin/zig -Wl,-z,stack-size=50331648 -Wl,--initial-memory=134217728 zig2.o compiler_rt.o libzigcpp.a -L $(/usr/lib/llvm22/bin/llvm-config --libdir) \30  -lclangFrontendTool -lclangCodeGen -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangFrontend -lclangDriver -lclangOptions -lclangSerialization -lclangSema -lclangAnalysisLifetimeSafety -lclangAnalysis -lclangASTMatchers -lclangParse -lclangAPINotes -lclangEdit -lclangLex -lclangRewriteFrontend -lclangRewrite -lclangIndex -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangExtractAPI -lclangSupport -lclangInstallAPI -lclangAST -lclangBasic -llldMinGW -llldELF -llldCOFF -llldWasm -llldMachO -llldCommon \31  $(/usr/lib/llvm22/bin/llvm-config --link-static --libs) $(/usr/lib/llvm22/bin/llvm-config --link-static --system-libs)'32SLOP zig version3334EXPORTS TOOL   zig35EXPORTS FOLDER zig-lib     /usr/lib/zig36EXPORTS ENV    ZIG_LIB_DIR /usr/lib/zig37# The libc Zig links for this target, which it does not find by asking cc:38# Emscripten's headers (below), which C compiled for Emscripten includes, and39# the crt directory, which Zig does not look for on this host; cc's link adds40# the libc itself.41FILE /usr/lib/zig/libc.txt42    include_dir=/usr/include43    sys_include_dir=/usr/include/wasm64-emscripten44    crt_dir=/usr/lib/dolly/process45    msvc_lib_dir=46    kernel32_lib_dir=47    cc_dir=48    darwin_sdk_dir=49EXPORTS ENV    ZIG_LIBC    /usr/lib/zig/libc.txt50# Emscripten's headers for that target (demos/zig/prepare-sources.sh).51SOURCE /v0.1.5/dist/static/zig-llvm/emscripten-headers.tar 4249acab21ed33264dd5a0bde210003c8b1f47b2c6938ff60a7c8766bc0d2484 /tmp/emscripten-headers.tar52SLOP tar -xf /tmp/emscripten-headers.tar -C /53FOLDER /usr/include/wasm64-emscripten54FILE /usr/share/licenses/zig/LICENSE55SLOP zig --help > /usr/share/man/cat1/zig.156FILE /usr/share/man/cat1/zig.157# Zig compiles the tools it runs as programs of their own into its global58# cache, HOME's, the first time each runs: zig build, init, fetch and libc's59# maker (lib/compiler/Maker.zig) in ReleaseSafe, translate-c's (and60# @cImport's) translator in ReleaseFast. That is upstream's first-time setup,61# once a machine, which every session would repeat; it is done here, the62# translation itself in a cache of its own. A session needs the manifests (h),63# builtin modules (b) and outputs (o): Zig reads a cached source (z) only for a64# file of the same inode, which an installed file is not, and the objects65# (_zcu.o) went into the links.66SLOP zig init --help > /dev/null67SLOP CWD /tmp : > zig-setup.h && zig translate-c --cache-dir zig-setup zig-setup.h > /dev/null68SLOP rm -r /home/dolly/.cache/zig/z /home/dolly/.cache/zig/tmp /home/dolly/.cache/zig/o/*/*_zcu.o69FOLDER /home/dolly/.cache/zig70