File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -34,6 +34,25 @@ zstd-java/ root pom, artifactId: parent
3434 ` windows-x86_64 ` , ` windows-aarch64 ` .
3535- ` third_party/zstd/ ` — pinned submodule; the only source of native code.
3636
37+ ## Build requirements
38+
39+ Deliberately minimal — part of the hermetic goal is a tiny prerequisite set:
40+
41+ - ** JDK 25+** — required for the stable ` java.lang.foreign ` API. Tested on
42+ Temurin/Zulu 25.
43+ - ** Zig** on ` PATH ` — the C cross-compiler for the native library; this is the
44+ only native-toolchain dependency (no system clang/gcc, no CMake, no sysroot).
45+ Tested with ` zig 0.16.0 ` .
46+ - ** Git** — to fetch the ` third_party/zstd ` submodule
47+ (` git clone --recurse-submodules ` , or ` git submodule update --init ` ).
48+ - ** A POSIX shell** — ` scripts/build-zstd.sh ` is bash; cross-builds run from a
49+ Unix host (macOS/Linux). Windows targets are produced by cross-compiling, not
50+ by building on Windows.
51+
52+ Maven itself is ** not** required: use the bundled wrapper ` ./mvnw ` , which pins
53+ Maven 3.9.16. Runtime needs ` --enable-native-access=ALL-UNNAMED ` (already set for
54+ the test run via the surefire ` argLine ` ).
55+
3756## Native build
3857
3958` scripts/build-zstd.sh <output-resources-dir> <classifier> ` compiles the zstd
You can’t perform that action at this time.
0 commit comments