libvips / build-win64-mxe

79 stars 15 forks source link

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 the llvm-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.11.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.4 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.83.0 LGPLv3
harfbuzz 10.1.0 MIT Licence
highway 1.2.0 Apache-2.0 License, BSD 3-Clause
lcms 2.16 MIT Licence
libarchive 3.7.7 BSD 2-Clause
libexif 0.6.24 LGPLv3
libffi 3.4.6 MIT Licence
libheif 1.19.5 LGPLv3
libimagequant 2.4.1¹ BSD 2-Clause
libpng 1.6.44 libpng License version 2
librsvg 2.59.2 LGPLv3
libspng 0.7.4 BSD 2-Clause
libtiff 4.7.0 libtiff License (BSD-like)
libvips 8.16.0 LGPLv3
libwebp 1.4.0 New BSD License
libxml2 2.13.5 MIT Licence
mozjpeg 4.1.5 zlib License, IJG License, BSD-3-Clause
pango 1.55.0 LGPLv3
pixman 0.44.0 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-all dependencies

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-19 ImageMagick License (Apache-2.0-like)
imath 3.1.9 BSD 3-Clause
libdicom 1.0.5 MIT Licence
libjxl 0.11.1 BSD 3-Clause
matio 1.5.28 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.11.0 GPLv2
sqlite 3.47.1 Public domain

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 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.4 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 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

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

HEVC-related dependencies

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 4.1 GPLv2