libvips and its dependencies cross-compiled for all four Windows architectures (x86_64, i686,
aarch64 and armv7).
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.8.2 | BSD 2-Clause + Alliance for Open Media Patent License 1.0 |
| cairo | 1.18.0 | Mozilla Public License 2.0 |
| cgif | 0.4.0 | MIT Licence |
| expat | 2.6.2 | MIT Licence |
| fontconfig | 2.15.0 | fontconfig Licence (BSD-like) |
| freetype | 2.13.2 | freetype Licence (BSD-like) |
| fribidi | 1.0.13 | LGPLv3 |
| gdk-pixbuf | 2.42.10 | LGPLv3 |
| glib | 2.80.0 | LGPLv3 |
| harfbuzz | 8.4.0 | MIT Licence |
| highway | 1.1.0 | Apache-2.0 License, BSD 3-Clause |
| lcms | 2.16 | MIT Licence |
| libarchive | 3.7.2 | BSD 2-Clause |
| libexif | 0.6.24 | LGPLv3 |
| libffi | 3.4.6 | MIT Licence |
| libheif | 1.17.6 | LGPLv3 |
| libimagequant | 2.4.1¹ | BSD 2-Clause |
| libpng | 1.6.43 | libpng License version 2 |
| librsvg | 2.57.3 | LGPLv3 |
| libspng | 0.7.4 | BSD 2-Clause |
| libtiff | 4.6.0 | libtiff License (BSD-like) |
| libvips | 8.15.1 | LGPLv3 |
| libwebp | 1.3.2 | New BSD License |
| libxml2 | 2.12.6 | MIT Licence |
| mozjpeg | 4.1.5 | zlib License, IJG License, BSD-3-Clause |
| pango | 1.52.2 | LGPLv3 |
| pixman | 0.43.4 | MIT Licence |
| proxy-libintl | 0.4 | LGPLv3 |
| zlib-ng | 2.1.6 | zlib-ng Licence |
¹ A fork of the BSD 2-Clause licensed libimagequant v2.4.1 is used.
Same as libvips-web + these extra dependencies:
| Dependency | Version | Used under the terms of |
|---|---|---|
| brotli | 1.1.0 | MIT Licence |
| cfitsio | 4.4.0 | BSD-like |
| fftw | 3.3.10 | GPLv2 |
| imagemagick | 6.9.13-7 | ImageMagick License (Apache-2.0-like) |
| imath | 3.1.9 | BSD 3-Clause |
| libdicom | 1.0.5 | MIT Licence |
| libjxl | 0.10.2 | BSD 3-Clause |
| matio | 1.5.26 | 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.04.0 | GPLv2 |
| sqlite | 3.45.2 | 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-turboIn that case, the following version of libjpeg-turbo is built:
| Dependency | Version | Used under the terms of |
|---|---|---|
| libjpeg-turbo | 3.0.2 | 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-jpegliIn that case, the following version of jpegli is built:
| Dependency | Version | Used under the terms of |
|---|---|---|
| jpegli | 0.10.2 | 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-ngIn 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-hevcThese 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 |