2021.01.04 14:23 "[Tiff] Motions related to C99 use in libtiff", by Even Rouault

2021.01.04 23:29 "Re: [Tiff] Motions related to C99 use in libtiff", by Bob Friesenhahn

I don't much care about ABI, as in the packaging world having to rebuild things is not a big deal. What is a big deal is not being able to build things because they use the old API still, but the old API is gone. This is extra tricky when there are packages that people care about but which do not have active maintenance. Even knows how difficult this has been for proj.

Yes, but for PROJ, we completely changed API. Here we are discussing about changing "uint32" to "uint32_t" in code. Shouldn't be a big deal...

There's a momentum currently thanks to Roger to do those changes. I'm afraid having to deal with a multi-year transition of API will loose that momentum. If there's an easily way to use the old API, people will use it and defer the move to the new API until the old API is completely removed. So you're just loosing time.

It is my opinion that the cost to the world is too high if there is not a soft transition. For example, Debian Linux has 210 packages which will no longer compile if libtiff breaks its existing API.

It is described that changing "uint32" to "uint32_t" in code should not be a big deal but this impacts a lot of software, including some which is barely/seldom maintained but otherwise works just fine.

I suggest that if the API is changed to be based directly on stdint.h types, that C-preprocessor definitions for the old type names be provided to allow existing software to continue to compile.

For example:

   #define uint32 uint32_t

We will still be throwing users of MinGW under the bus (so to speak) if they do not have C'99 printf formatting support engaged (via a wrapper) since MinGW depends on a very old runtime DLL which does not support C'99.

Even with latest MSYS2 which comes with a latest MinGW-w64 compiler, I have still not gotten to the bottom of C'99 printf formatting issues.

Bob

Bob Friesenhahn
bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
Public Key, http://www.simplesystems.org/users/bfriesen/public-key.txt