GitHub - libvips/build-win64-mxe (original) (raw)

build-win64-mxe

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 thellvm-mingw repository is used to swap GCC and binutils with Clang and other LLVM-based tools.

Creating a zipball

Most people will not need to do this; proceed with caution.

Run the top-level build script with the --help parameter for help.

libvips-web dependencies

Dependency Version Used under the terms of
aom 3.13.1 BSD 2-Clause + Alliance for Open Media Patent License 1.0
cairo 1.18.4 Mozilla Public License 2.0
cgif 0.5.0 MIT Licence
expat 2.7.3 MIT Licence
fontconfig 2.17.1 fontconfig Licence (BSD-like)
freetype 2.14.1 freetype Licence (BSD-like)
fribidi 1.0.16 LGPLv3
glib 2.87.0 LGPLv3
harfbuzz 12.2.0 MIT Licence
highway 1.3.0 Apache-2.0 License, BSD 3-Clause
lcms 2.17 MIT Licence
libarchive 3.8.4 BSD 2-Clause
libexif 0.6.25 LGPLv3
libffi 3.5.2 MIT Licence
libheif 1.20.2 LGPLv3
libimagequant 2.4.11 BSD 2-Clause
libpng 1.6.53 libpng License version 2
librsvg 2.61.3 LGPLv3
libtiff 4.7.1 libtiff License (BSD-like)
libultrahdr 1.4.0 Apache-2.0 License
libvips 8.18.02 LGPLv3
libwebp 1.6.0 New BSD License
libxml2 2.15.1 MIT Licence
mozjpeg 0826579 zlib License, IJG License, BSD 3-Clause
pango 1.57.0 LGPLv3
pixman 0.46.4 MIT Licence
proxy-libintl 0.5 LGPLv3
zlib-ng 2.3.2 zlib-ng Licence

libvips-all dependencies

Same as libvips-web + these extra dependencies:

Dependency Version Used under the terms of
brotli 1.2.0 MIT Licence
cfitsio 4.6.2 BSD-like
fftw 3.3.10 GPLv2
gdk-pixbuf 2.44.4 LGPLv3
imagemagick 6.9.13-35 ImageMagick License (Apache-2.0-like)
imath 3.1.9 BSD 3-Clause
libdicom 1.2.0 MIT Licence
libjxl 0.11.1 BSD 3-Clause
libraw 0.21.4 LGPL-2.1-only
matio 1.5.29 BSD 2-Clause
nifticlib 3.0.1 Public domain
openexr 3.1.11 BSD 3-Clause
openjpeg 2.5.4 BSD 2-Clause
openslide 4.0.0 LGPLv3
poppler 25.12.0 GPLv2
sqlite 3.51.1 Public domain
zstd 1.5.7 BSD 3-Clause

libjpeg-turbo

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 ofMozJPEG. 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.1.2 zlib License, IJG License

jpegli

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 likeguetzli, 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:

In that case, the following version of jpegli is built:

Dependency Version Used under the terms of
jpegli 5126d62 BSD 3-Clause

zlib

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 variants can optionally be built with libde265 and x265 to process HEIC images. This can be turned on with the --with-hevc argument. For example:

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.16 LGPLv3
x265 4.1 GPLv2
  1. A fork of the BSD 2-Clause licensed libimagequant v2.4.1 is used.
  2. libvips is built from the v8.18.0-rc2 tag, see:https://github.com/libvips/libvips/releases/tag/v8.18.0-rc2