Skip to content

Proposal: Split up distribution and provide static executables #4

@kleisauke

Description

@kleisauke

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions