dat-thang requires a C99 compiler, make, libsodium development headers, and the system DNS resolver development library (`libresolv` on glibc systems). Build and test: ./configure make make test Install under /usr/local by default: make install Choose another prefix during configuration: ./configure --prefix="$HOME/.local" make make test make install Packagers can stage an install without writing to the live prefix: make DESTDIR=/tmp/dat-thang-package install The installed C command is named `ddat`, so the historical JavaScript `dat` command can remain installed beside it. To build the old Hypercore V6 session mode for side-by-side compatibility work, use: make NETWORK_PROTOCOL=hypercore build/linux/ddat The SDL2 mockup is optional. Install SDL2 development headers and pkg-config, then build and run it with: make ENABLE_SDL2=1 build/linux/dat-thang The GNU/Linux default output path is `build/linux`; the native Windows development build is `build/windows`. Release files belong under `dist/`, so the source tree and platform build outputs stay separate. Create a staged GNU/Linux install-tree archive with: make package This creates `dist/linux-/dat-thang--linux-.tar.gz`. The tarball contains the installed programs, headers, library, Dillo DPI, and manuals; the target system supplies the linked system libraries. On Windows, `build-windows.ps1` creates a portable ZIP and `build-windows-installer.ps1` creates the install wizard package. To make a source-only ZIP from PowerShell without including ignored build or release outputs, run `./package-source.ps1`. See `docs/source-distribution.md` for its archive contents. To include the SDL2 clients in the Linux install and release archive, install SDL2 and SDL2_ttf development files, then run `make ENABLE_SDL2=1 package`. `NETWORK_PROTOCOL` remains the repository-root setting; the make override above is temporary and does not change that file. S7 is bundled and required. The default build includes the embedded Scheme runtime, `ddat-scheme`, and the shared JSON reader used for JavaScript Dat metadata. `--disable-s7` is rejected because Dat metadata parsing depends on it. Use `make uninstall` to remove installed dat-thang files and `make distclean` to remove all generated build and configuration files.