NOAA-EMC / NCEPLIBS-g2c

This library contains C decoder/encoder routines for GRIB edition 2.
Other
18 stars 11 forks source link

Remove capability to build without PNG #215

Closed edwardhartnett closed 2 years ago

edwardhartnett commented 2 years ago

We some code that deals with building without PNG.

But that code is broken, so PNG is always built in any case (see #214 and #213).

So do we need to build without PNG?

Unless someone can articulate a strong reason, I propose to take all this code out, and require PNG for every build. PNG is widely available.

DusanJovic-NOAA commented 2 years ago

Yes. We need to be able to build without PNG. What exactly is broken?

edwardhartnett commented 2 years ago

Why? Can you please give me a use case, like a platform we need to build on which does not support PNG?

If we make PNG required every time, it will work fine on Linux, Mac, and Windows, and all our operational and R&D machines. It will simplify the build, reduce testing needs, and reduce risk.

So what is the actual justification for this feature? Why is it required?

DusanJovic-NOAA commented 2 years ago

See my comment in #112.

The fact that PNG is available on all platforms we support does not mean we have to require it, same for Jasper and OpenJPEG. For example zlib is available on even more platforms and yet you can build HDF5 without it. It's optional dependency. Similar with eccodes, both PNG and Jasper/OpenJPEG are optional, non mandatory dependencies.

edwardhartnett commented 2 years ago

Very well, we will leave this. But it means we have to add testing for these combinations to the CI.