Dependency inventory
Libraries and versions
Versions below are read from TaystJK source commit f999cbc0912. A build that uses system libraries can end up with different versions; its configure log has the real ones.
Versioned source dependencies
| Library | Version in tree | How TaystJK uses it | Evidence |
|---|---|---|---|
| SDL 2 | 2.32.4 | Windowing, input, audio, and platform integration; bundled by default on Windows and macOS, system-provided by default on Linux. | SDL_version.h |
| OpenAL Soft | 1.23.1 | Bundled software implementation of OpenAL on Windows, including software EAX support in the 32-bit package. | OpenAL Soft import |
| libpng | 1.6.53 | PNG image loading for renderer builds. | png.h |
| zlib | 1.3.1 | Deflate compression and PK3 support. | zlib.h |
| minizip | from zlib 1.3.1 | ZIP/PK3 reading; always uses TaystJK’s modified bundled copy. | lib/minizip/CMakeLists.txt |
| IJG libjpeg | 9c | Default bundled JPEG implementation. | jversion.h |
| libjpeg-turbo | 3.1.4.1 | Optional configure-time replacement when UseTurboJPEG=ON; fetched by CMake. |
CMakeLists.txt |
| cJSON | 1.7.16 | JSON parsing in the client game module. | cJSON.h |
| Mongoose | 7.13 | Embedded HTTP server and HTTP client used by downloads. | mongoose.h |
| gsl-lite | 0.41.0 | Header-only bounds and safety helpers. | gsl-lite.h |
| SQLite | 3.8.5 | Embedded database used by the game module. | sqlite3.h |
| libcurl headers | 7.15.5 | Legacy game-module HTTP interface headers. | curlver.h |
Bundled binaries without recorded upstream versions
TaystJK also carries prebuilt Discord RPC libraries for some platforms. Nothing in the repository records which upstream release they are, so identify them by the commit that added them and the file’s hash.
| Library | Selection | Source evidence |
|---|---|---|
| Discord RPC | Prebuilt per-platform archives, controlled by BuildDiscordRichPresence. |
Discord RPC selection |
Bundled versus system libraries
Windows defaults to bundled OpenAL, zlib, libpng, libjpeg, and SDL 2. macOS defaults to bundled zlib, libpng, libjpeg, and SDL 2. Other Unix-like systems normally use libraries found by CMake, except for the always-bundled modified minizip, cJSON, Mongoose, gsl-lite, and embedded SQLite source.
On 32-bit Windows, the bundled OpenAL Soft library works with the shipped EaxMan.dll to provide EAX environmental audio in software; Creative or other EAX-capable hardware is not required. The 64-bit engine has support for loading EaxMan64.dll, but that library is not available in the release, so TaystJK’s complete EAX path is currently limited to the 32-bit Windows build.
The relevant switches are UseInternalOpenAL, UseInternalZlib, UseInternalPNG, UseInternalJPEG, UseTurboJPEG, and UseInternalSDL2. CMake records its actual choices in the configure output and CMakeCache.txt.
Release builds set UseTurboJPEG=ON on every platform
(build.yml).
On x86 and x86-64, including the Intel half of a universal macOS build, libjpeg-turbo needs
the NASM assembler for its SIMD code. Without it CMake only prints a
warning and builds the slower plain-C version
(CMakeLists.txt), so
install NASM if you want your build to match a release.
When reporting a dependency bug, include:
- The TaystJK commit and build configuration.
- The value of each
UseInternal…option. - The runtime library version where it can differ from the header version.
- The operating system and architecture.
Last changed History Edit this page on GitHub