Following the windows build instructions , there's this comment
git clone https://git.code.sf.net/p/libpng/code lpng
git clone https://github.com/madler/zlib.git zlibFirst build zlib:
cd zlib
nmake -f win32\Makefile.msc clean
nmake -f win32\Makefile.msc
If I downloaded 2.12.0 of example, couldn't this lead to a potentially different build every time, as libpng or zlib could change ?
Is there a particular version of zlib for a particular version of zint ?
Note that zlib is used by libpng. zint itself doesn't use it directly, only through libpng.
zlib is one of the most widely used libraries around and is very stable. Most recent changes appear to be fixes to the deflate (read) part and performance improvements.
libpng is widely used and is also very stable. Most recent changes appear to be fixes to the read part (not used by zint).
So while yes using later versions of libpng and/or zlib than the ones used at the time of the particular zint release will result in a different build, which technically is untested, I think the chances of breakage are as minimal as can be.
To be honest I rarely check these, and notice that the versions on my development machine (an up-to-date Ubuntu 22.04) are libpng 1.6.37 (latest is 1.6.40) and zlib 1.2.11 (latest is 1.2.13). I suppose I should manually update them.
Valid point though and maybe I should specify the exact versions of libpng and zlib to use, however using the latest versions with whatever bug fixes they have I think is probably best...
(As zint only uses a small subset of the libpng API I did consider embedding the relevant parts of it (and zlib) into zint to avoid the dependencies - which are particularly tedious on Windows as evident in the build instructions - but that could introduce its own issues so haven't so far.)
Edit; re zlib, actually deflate is the write part so is of relevance to zint....
Last edit: Git Lost 2023-07-20