Closed jcupitt closed 5 years ago
A PR would be useful! Otherwise, I can take a look at it (it was on my TODO-list).
For NetVips it's not necessary (only the DLL's are sufficient), so a switch would be useful. Perhaps libvipsCC-42.dll
and libvips-cpp-42.dll
should be added too (they are missing now).
Do you plan to use this distribution for the upcoming libvips version?
I've done the rc1 in the old jhbuild one. We can switch at any point, I think, so it's not urgent. sharp have their own libvips builder based on jhbuild as well, so it'd be good to pull in anything from that too.
You're right, the vips8 C++ stuff should be in there too. I'm a bit surprised you didn't need the libstdc++ DLL, it's used by some part of libvips as well, I thought. Anyway, more stuff to check.
I didn't need the libstdc++-6.dll
because it was only included by libvipsCC-42.dll
and libvips-cpp-42.dl
. libvips-42.dll
(and it's dependencies) doesn't depend on it, see:
Checked with the open-source modern Dependency Walker.
Hopefully resolved with the above commit, you can download the binaries here.
The gtk-docs
is still missing from those binaries, I added it to my TODO-list. Also note that the size of those binaries are reduced quite a lot, thanks to these compiler flags. The libvips test suite still seems to run smoothly, so I think it does not affect the behavior of libvips (not sure if it's slower because of the missing -O3
).
I also added support for building 32-bit binaries. You can build a 32-bit libvips binary with the 3rd parameter (for e.g. ./build.sh 8.7 web i686
). If nothing is specified, defaults to x86_64
.
Nice!
-O3
enabled the auto-vectoriser. I think with -Os
you'll need to add -ftree-vectorize
to enable it. You could consider -ffast-math
as well.
The GCC optimizations -ffast-math
and -ftree-vectorize
are enabled with the above commit.
Also, thanks for making me a member of the libvips organization, it feels like an honor. Should I move net-vips and this repo to the organization as well?
Oh, no problem.
Up to you! I can see arguments for having all the bindings in one place, but equally you might prefer to keep your name on them if you want to use them for job hunting.
I held off from moving libvips into an org for a long time because I hoped having my name on it would help me, so I would completely understand.
Ah I see, I'll keep my name on the .NET binding for job hunting (I hadn't thought about it, since I'm still a student).
I'll transfer this repo to the libvips organization to make it easier to find and to open up development.
I'm not sure if the gtk-docs
still need to be distributed with the binaries. I think most of the developers will check out https://libvips.github.io/libvips/API/current/.
The headers, link libraries and the def files are included in the 8.7+ binaries and I've just updated this distribution to 8.7.1 with https://github.com/libvips/build-win64-mxe/commit/cbd9dabf00989bdb75a1cec1d8b0702ce96e577d.
I'll close this issue. Thanks for noticing this!
The
-dev
zip that this repo makes only includes the DLLs and EXEs. Many developers will want the headers, the link libraries and the def files too.Perhaps there should be a switch to generate either a stripped-back binary, or a zip with all the developer files? I could cook up a PR if that would be useful.