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-<architecture>/dat-thang-<version>-linux-<architecture>.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.
