libvips and its dependencies cross-compiled for all supported Windows architectures (x86_64
,
i686
and aarch64
).
Uses MXE as base environment. A custom plugin based upon the llvm-mingw repository is used to swap GCC and binutils with Clang and other LLVM-based tools.
Most people will not need to do this; proceed with caution.
Run the top-level build script with the --help
parameter for help.
Dependency | Version | Used under the terms of |
---|---|---|
aom | 3.10.0 | BSD 2-Clause + Alliance for Open Media Patent License 1.0 |
cairo | 1.18.2 | Mozilla Public License 2.0 |
cgif | 0.4.1 | MIT Licence |
expat | 2.6.3 | MIT Licence |
fontconfig | 2.15.0 | fontconfig Licence (BSD-like) |
freetype | 2.13.3 | freetype Licence (BSD-like) |
fribidi | 1.0.16 | LGPLv3 |
glib | 2.82.1 | LGPLv3 |
harfbuzz | 10.0.1 | MIT Licence |
highway | 1.2.0 | Apache-2.0 License, BSD 3-Clause |
lcms | 2.16 | MIT Licence |
libarchive | 3.7.6 | BSD 2-Clause |
libexif | 0.6.24 | LGPLv3 |
libffi | 3.4.6 | MIT Licence |
libheif | 1.18.2 | LGPLv3 |
libimagequant | 2.4.1¹ | BSD 2-Clause |
libpng | 1.6.44 | libpng License version 2 |
librsvg | 2.59.1 | LGPLv3 |
libspng | 0.7.4 | BSD 2-Clause |
libtiff | 4.7.0 | libtiff License (BSD-like) |
libvips | 8.15.5² | LGPLv3 |
libwebp | 1.4.0 | New BSD License |
libxml2 | 2.13.4 | MIT Licence |
mozjpeg | 4.1.5 | zlib License, IJG License, BSD-3-Clause |
pango | 1.54.0 | LGPLv3 |
pixman | 0.43.4 | MIT Licence |
proxy-libintl | 0.4 | LGPLv3 |
zlib-ng | 2.2.2 | zlib-ng Licence |
¹ A fork of the BSD 2-Clause licensed libimagequant v2.4.1 is used.
² libvips is built from the v8.15.5-rc1
tag, see:
https://github.com/libvips/libvips/releases/tag/v8.15.5-rc1
Same as libvips-web + these extra dependencies:
Dependency | Version | Used under the terms of |
---|---|---|
brotli | 1.1.0 | MIT Licence |
cfitsio | 4.5.0 | BSD-like |
fftw | 3.3.10 | GPLv2 |
gdk-pixbuf | 2.42.12 | LGPLv3 |
imagemagick | 6.9.13-16 | ImageMagick License (Apache-2.0-like) |
imath | 3.1.9 | BSD 3-Clause |
libdicom | 1.0.5 | MIT Licence |
libjxl | 0.11.0 | BSD 3-Clause |
matio | 1.5.27 | BSD 2-Clause |
nifticlib | 3.0.1 | Public domain |
openexr | 3.1.11 | BSD 3-Clause |
openjpeg | 2.5.2 | BSD 2-Clause |
openslide | 4.0.0 | LGPLv3 |
poppler | 24.09.0 | GPLv2 |
sqlite | 3.46.1 | Public domain |
libvips does not use any of MozJPEG's improvements by default unless explicitly set,
yet one can still choose to build the above variants with libjpeg-turbo instead of
MozJPEG. This can be accomplished with the --with-jpeg-turbo
argument.
For example:
./build.sh --with-jpeg-turbo
In that case, the following version of libjpeg-turbo is built:
Dependency | Version | Used under the terms of |
---|---|---|
libjpeg-turbo | 3.0.3 | zlib License, IJG License |
jpegli is an improved JPEG encoder and decoder implementation, fully compatible with
the API/ABI of libjpeg62. It leverages many of the insights from related projects like
guetzli, butteraugli, and JPEG XL to achieve a higher
quality-per-byte for JPEG images. To enable this, use the --with-jpegli
argument when
building. For example:
./build.sh --with-jpegli
In that case, the following version of jpegli is built:
Dependency | Version | Used under the terms of |
---|---|---|
jpegli | be525a4 | BSD 3-Clause |
By default zlib-ng is built. This is a zlib replacement with optimizations for
"next generation" systems. You can use the --without-zlib-ng
argument during the
build when (vanilla-)zlib is preferred. For example:
./build.sh --without-zlib-ng
In that case, the following version of zlib is built:
Dependency | Version | Used under the terms of |
---|---|---|
zlib | 1.3.1 | zlib Licence |
The above "all" variant can optionally be built with libde265 and x265 to process
HEIC images. This can be turned on with the --with-hevc
argument. For example:
./build.sh all --with-hevc
These dependencies include HEVC-related logic and are therefore not included in the prebuilt binaries while it is patent-encumbered.
Dependency | Version | Used under the terms of |
---|---|---|
libde265 | 1.0.15 | LGPLv3 |
x265 | 3.6 | GPLv2 |