On Wed, Dec 8, 2021 at 7:08 AM Ruediger Pluem <rpl...@apache.org> wrote:
>...

> I think our API / ABI rules do not allow this for 1.8, only for 2.0.
> But the question is if we are wiling to break them for a platform that is
> no longer maintained by us and is out of vendor support
> for many years. Hence it likely will not affect our users if we do this in
> 1.8.
>

You could totally add APR_FOO in 1.8 as a new name for APU_FOO. Or more
precisely: in apr_legacy.h define APU_FOO in terms of APR_FOO.

Similarly, you could rename aprutil_foo() to apr_foo() and then create a
wrapper aprutil_foo() that just calls apr_foo().

The ABI would remain the same (all old functions are still present), yet
more symbols (apr_foo) are introduced in 1.8. Check.
All APU_FOO symbols are present during compilation, and more symbols
(APR_FOO) are introduced in 1.8. Check.

And clearly, the wrappers and apr_legacy.h would be tossed in 2.0

Cheers,
-g

ps. we do this kind of symbol migration all the time in svn. Works out just
fine. We haven't needed a 2.0, just a focus on *how* to keep things
compatible.

Reply via email to