[gdal-dev] Un-vendoring a number of third-party libraries?

Andrew C Aitchison andrew at aitchison.me.uk
Fri Dec 15 10:46:10 PST 2023


On Fri, 15 Dec 2023, Even Rouault via gdal-dev wrote:

>> If the scope of this were to unvendor just these four (libjpeg, libpng, 
>> zlib, giflib), I think it is enough to start, but it brings up the question 
>> of whether or not JPEG, PNG, and GIF support are hard dependencies in GDAL 
>> afterward. They're always available no matter how you build  now, so would 
>> we make them hard dependencies or relax them to optional after unvendoring? 
>> I assume zlib would move to a hard dependency of GDAL.
>
> I would let libjpeg, libpng, giflib, liblerc as optional dependencies. Our 
> CMake scripts already handle them as optional. Someone doing a GDAL build 
> only for vector might want to skip them.
>
> But strongly recommended at least for libjpeg and libpng, since beyond being 
> standalone formats, they are also used for example for GeoPackage, MBTiles, 
> MRF, OGCAPI/WMS/WMTS, etc.
>
> Yes zlib would move to a hard dependency, like PROJ (and if you build PROJ 
> with libtiff or libcurl support, you must certainly already have zlib as it 
> is a canonical dependency of those). There are lots of places in the code 
> base where we assume deflate compression/decompression to be available.

I don't see a problem but libpng also uses zlib. Do we need to
do anything to ensure that gdal uses the same zlib as libpng ?

-- 
Andrew C. Aitchison                      Kendal, UK
                    andrew at aitchison.me.uk


More information about the gdal-dev mailing list