build-win64-mxe
build-win64-mxe copied to clipboard
Proposal: Split up distribution and provide static executables
So far we have released these Windows binaries with libvips:
vips-dev-w64-web-x.y.z.zip
vips-dev-w64-all-x.y.z.zip
These ZIP files includes the pre-compiled binaries for Windows 64-bit. It also includes the necessary headers and def files.
Since most Windows users only use the executable / DLL files, I think it would be a good idea to split this distribution to:
vips-shared-w64-web-x.y.z.zip
vips-shared-w64-all-x.y.z.zip
vips-dev-w64-web-x.y.z.zip
vips-dev-w64-all-x.y.z.zip
The -shared
variant will only include the executables (vips.exe
, vipsedit.exe
, vipsheader.exe
and vipsthumbnail.exe
) with the dependent DLL files and a copy of the GTK-Doc files. The -dev
variant will only include the necessary headers and all .lib
, .def
, .a
files for the -shared
variant. Perhaps we could also include some C / C++ code examples in this build:
https://libvips.github.io/libvips/API/current/using-from-c.html#id-1.2.4.10.3
https://libvips.github.io/libvips/API/current/using-from-cpp.html#using-cpp
We could also add a third variant containing the statically linked executable files without relying on external DLL files:
vips-static-w64-web-x.y.z.zip
Note that this is only possible for -web
distribution of libvips. Because distributing statically linked binaries against GPL libraries, violates the GPL license.
Finally, I think it would be useful to release the 32-bit version as well. This will then be the entire list of Windows builds:
vips-static-w64-web-x.y.z.zip
vips-shared-w64-web-x.y.z.zip
vips-shared-w64-all-x.y.z.zip
vips-dev-w64-web-x.y.z.zip
vips-dev-w64-all-x.y.z.zip
vips-static-w32-web-x.y.z.zip
vips-shared-w32-web-x.y.z.zip
vips-shared-w32-all-x.y.z.zip
vips-dev-w32-web-x.y.z.zip
vips-dev-w32-all-x.y.z.zip
Pheww.. that's a lot of files! This brings us to the next proposal: #5
It would be helpful to include this description on the release page. Or provide a link to this issue.