Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Split up distribution and provide static executables #4

Open
kleisauke opened this issue Mar 31, 2019 · 1 comment
Open

Comments

@kleisauke
Copy link
Member

kleisauke commented Mar 31, 2019

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

@reregaga
Copy link

It would be helpful to include this description on the release page. Or provide a link to this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants