Docs file normalization.

This commit is contained in:
Johannes Findeisen 2026-11-06 15:20:20 +01:00
commit 619c2d0808
46 changed files with 3587 additions and 2579 deletions

View file

@ -1,10 +1,11 @@
# Linux setup and installation
# Linux Setup and Installation
Use a C99 compiler, C++17 compiler for the GUI, GNU Make, binutils and pkg-config.
The core needs only the C/math runtime. FLTK 1.4 development files enable the GUI;
JACK-compatible development files enable the optional audio/MIDI backend.
Packaging/install tests additionally use Python 3.12+ (standard library only).
No command starts a server, installs dependencies or changes system settings.
Use a C99 compiler, C++17 compiler for the GUI, GNU Make, binutils and
pkg-config. The core needs only the C/math runtime. FLTK 1.4 development files
enable the GUI; JACK-compatible development files enable the optional audio/MIDI
backend. Packaging/install tests additionally use Python 3.12+ (standard library
only). No command starts a server, installs dependencies or changes system
settings.
```sh
make all test
@ -15,20 +16,24 @@ make gui
Start/configure a JACK or PipeWire JACK-compatible server through your existing
system setup first. xtc opens without starting one and requires reconnect after
server loss/rate changes. In a separate JACK routing tool connect desired MIDI
to `midi_in`, audio capture to `input`, and `output`/`output_right` to left/right
playback ports. No physical routes are automatic. Input/recording remain mono.
See GUI.md, AUDIO_FILES.md, MIDI.md and MIXER.md for composing/recording/editing.
to `midi_in`, audio capture to `input`, and `output`/`output_right` to
left/right playback ports. No physical routes are automatic. Input/recording
remain mono. See GUI.md, AUDIO_FILES.md, MIDI.md and MIXER.md for
composing/recording/editing.
`xtc --help` and `xtc --version` work without a display/server. `xtc project.xtc`
opens one project; no-file startup retains FLTK options such as `-display`.
`xtc-check --validate project.xtc` validates metadata only; native graphs cannot
be serialized. See RECOVERY.md before replacing damaged files.
`xtc --help` and `xtc --version` work without a display/server.
`xtc project.xtc` opens one project; no-file startup retains FLTK options such
as `-display`. `xtc-check --validate project.xtc` validates metadata only;
native graphs cannot be serialized. See RECOVERY.md before replacing damaged
files.
## Staged installation
---
Core-only installation retains the original `make install` behavior and now
adds xtc-check, pkg-config metadata, license and documentation. install-gui adds
the GUI executable and desktop launcher. Defaults to PREFIX=/usr/local:
## Staged Installation
Core-only installation retains the original `make install` behavior and now adds
xtc-check, pkg-config metadata, license and documentation. install-gui adds the
GUI executable and desktop launcher. Defaults to PREFIX=/usr/local:
```sh
make install-gui DESTDIR="$PWD/build/stage" PREFIX=/usr
@ -57,28 +62,33 @@ file records its private dependency. Public headers contain no JACK/FLTK types.
To build without optional libraries, set PKG_CONFIG=false FLTK_CONFIG=false.
Python is not needed to run the installed executables or library.
## Binary/development archive
---
## Binary/Development Archive
`make package` creates a system-linked Linux archive plus SHA-256 sidecar below
BUILD_DIR; `make test-package` verifies its contents. It includes usr/bin,
headers/static library/pkg-config metadata, desktop file (when FLTK is present),
manuals, baseline and MIT license. No shared library, third-party plugin, media,
service or dependency installer is bundled. `BINARY_MANIFEST.json` lists file
hashes/sizes, architecture/libc and ELF NEEDED libraries. The entire archive's hash
covers the manifest too. Do not assume compatibility with another distribution.
hashes/sizes, architecture/libc and ELF NEEDED libraries. The entire archive's
hash covers the manifest too. Do not assume compatibility with another
distribution.
Inspect/test under a temporary directory first. For a writable user prefix,
extract the archive with two leading path components stripped (`xtc-VERSION-linux-
ARCH/usr`), placing bin/include/lib/share directly under that prefix. Put its bin
on PATH and lib/pkgconfig on PKG_CONFIG_PATH. The archive's pkg-config prefix is
relative to its installed location; normal `make install` retains explicit PREFIX.
Use the matching source's uninstall with that PREFIX, or review the manifest
before removing its files. Unknown/unrelated files are retained by source uninstall.
This local tar package is not a pacman/RPM/deb registration or public distribution.
extract the archive with two leading path components stripped
(`xtc-VERSION-linux- ARCH/usr`), placing bin/include/lib/share directly under
that prefix. Put its bin on PATH and lib/pkgconfig on PKG_CONFIG_PATH. The
archive's pkg-config prefix is relative to its installed location; normal
`make install` retains explicit PREFIX. Use the matching source's uninstall with
that PREFIX, or review the manifest before removing its files. Unknown/unrelated
files are retained by source uninstall. This local tar package is not a
pacman/RPM/deb registration or public distribution.
`xtc-check --diagnose` reports build capabilities and format/engine limits without
opening a server or executing a plugin. `xtc --diagnose` works headlessly as well.
Missing runtime GUI libraries are loader errors: install the distribution's
compatible dependencies or rebuild the core-only configuration. Build without
optional libraries using a fresh directory, `PKG_CONFIG=false FLTK_CONFIG=false
CPPFLAGS=-DXTC_DISABLE_LADSPA`. No system setting or package is changed by tests.
`xtc-check --diagnose` reports build capabilities and format/engine limits
without opening a server or executing a plugin. `xtc --diagnose` works
headlessly as well. Missing runtime GUI libraries are loader errors: install the
distribution's compatible dependencies or rebuild the core-only configuration.
Build without optional libraries using a fresh directory,
`PKG_CONFIG=false FLTK_CONFIG=false CPPFLAGS=-DXTC_DISABLE_LADSPA`. No system
setting or package is changed by tests.