2021.01.01 19:31 "[Tiff] Enabling and requiring C99 language support", by Roger Leigh

2021.01.05 01:49 "Re: [Tiff] Autotools (was: Enabling and requiring C99 language support)", by Kurt Schwehr

Sorry I'm late to subscribing to the mailing list, so I'm sure this email will fail to thread correctly :(

It's great to see this topic being discussed. A couple of thoughts as I try to catch up to the discussion:

First, it would be great to have a document that talks about what is expected of libtiff. What platforms are specifically supported? I could have done better for GDAL with https://gdal.org/development/rfc/rfc68_cplusplus11.html and I hope that whatever the conclusion is for libtiff that the results are well documented. Knowing what is expected for patches will hopefully get more folks to contribute. If there is real need for C89 or other things, those should be clearly spelled out so that the maintainers can make the value judgement if they should be supported or dropped. There is cost to maintaining older systems and that should be called out.

Second:

Generally speaking, I don’t think that C99 is directly related to making the autotools unnecessary; they are pretty much orthogonal. However, I do think it might be worth re-examining the value the autotools provide, and considering if it is worth keeping them. We currently have four (!) separate build systems (Autotools, CMake, VMS, MSVC NMake), and maintaining four is three too many.

I use and maintain a bazel based build of libtiff, so I'm less worried about which build system. For that build, my main hope for libtiff is that it get to at least C99 and that a lot of the legacy complexity gets removed. To me, it seems unreasonable to expect any explicit support from libtiff upstream of my packaging with bazel.

As a user / maintainer of too many packaging of tools over the years, for C and C++, if it's not autoconf or cmake that is the primary config/build environment, things start to get rough for packagers. My experience mostly comes from the world of SunOS 4/Solaris/Irix/VxWorks/Linux/Mac OSX[fink]. On Linux (usually debian testing), I do love working with cmake parallel builds with ninja. It works fine on smaller hardware and scales well when folks have machines with many cores. I've done most of my cross compiling with autoconf which was manageable. I know not how well CMake handles cross compiling.

Cheers,
-Kurt