Dependency inventory

Libraries and versions

Versions below are read from TaystJK source commit 6ff04c0baf58. A system-library build can use different runtime versions; the configure log is authoritative for that build.

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 selected platforms. Their current files do not expose an upstream release number in the repository, so this documentation does not invent one. The source commit and binary hash are the reliable identifiers until that dependency gains checked-in version metadata.

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.

When reporting a dependency bug, include:

  1. The TaystJK commit and build configuration.
  2. The value of each UseInternal… option.
  3. The runtime library version where it can differ from the header version.
  4. The operating system and architecture.

Return to development documentation.