jxl-sys
Rust bindings to libjxl
Building
Before building, you will need to make sure that git submodules are initialized:
You will also need to make sure you have all prerequisites to build libjxl.
Refer to libjxl/BUILDING.md for detailed instructions.
Then you can build with cargo:
LTO
The lto feature builds the bundled libjxl static libraries as LLVM
bitcode using Clang and -flto=full. It currently supports Linux targets.
The feature does not configure the final link of the consuming Rust binary. Consumers must also enable Rust linker-plugin LTO and use an LLVM linker that is compatible with the bitcode emitted by Clang.
Enable the feature on the dependency:
[]
= { = "0.1", = ["lto"] }
Then build the consuming binary with Rust's bundled LLD, replacing
your-binary with its Cargo binary target:
rust_target_dir=""
rust_lld="/bin/gcc-ld/ld.lld"
License
jxl-sys is primarily distributed under the terms of both the MIT license and
the Apache License (Version 2.0).
See LICENSE-APACHE, LICENSE-MIT for details.
Copyright (c) 2025 Zetier