Hi Francesco,

According to JetBrains questionnaire results from last year[1], only 18% of the 
respondents were using C++20 “regularly,” whatever that means. That number is 
higher than I would have thought, but still I would caution against requiring 
C++20 supporting compilers for a few years yet.

Backporting required parts of std::span and having a layer that switches 
between std::format and fmtlib shouldn’t be too hard, assuming these are only 
used internally and nothing in the API expects span inputs, for example. But 
would we require contributors to use a C++20 enabled compiler?


Cheers,
Christopher

[1] https://www.jetbrains.com/lp/devecosystem-2021/cpp/

The MathWorks GmbH | Friedlandstr.18 | 52064 Aachen | District Court Aachen | 
HRB 8082 | Managing Directors: Bertrand Dissler, Steven D. Barbo, Jeanne O’Keefe


From: Francesco Pretto <cez...@gmail.com>
Sent: Wednesday, May 4, 2022 23:10
To: Mattia Rizzolo <mat...@mapreri.org>; Podofo-users 
<podofo-users@lists.sourceforge.net>
Subject: Re: [Podofo-users] Future ABI stability of PoDoFo

Hi Mattia,

I definitely thought about ABI stability but I'm not super experienced
how to ensure it for C++ libraries. I think the API review and
hierarchy chances I will be helpful also to ensure there will be less
ABI changes. I never fixed SONAME during compilation: at the right
moment I may ask for some help.

I'm also realizing that what is boiling in PoDoFo-next is already a
C++20 library (I extensively use std::span[1] and std::format[2]),
with the possibility of being able to compile with a C++17 compiler
using some fillers. Aiming for inclusion in a distribution I should
make sure the compilation defaults to C++20, with C++17 support that
is only voluntarily/optionally enabled (and persisted in a the build
configuration header) otherwise this may cause ABI issues when
mismatching C++ compilation compliance level flags.

Cheers,
Francesco

[1] 
https://en.cppreference.com/w/cpp/container/span<https://en.cppreference.com/w/cpp/container/span>
[2] 
https://en.cppreference.com/w/cpp/utility/format/format<https://en.cppreference.com/w/cpp/utility/format/format>

On Wed, 4 May 2022 at 16:21, Mattia Rizzolo 
<mat...@mapreri.org<mailto:mat...@mapreri.org>> wrote:
>
> Hi (especially Francesco),
>
> Something that I don't think I've read in the past mails: do you have
> any plans regarding ABI stability of PoDoFo?
>
> Currently there is no promise of ABI stability across versions, and as
> such the SONAME also changes for each release, even if sometimes it
> could have been avoided.
>
>
> For me this is relevant because for each release the updates needs to be
> manually approved by Debian's archive admins due to the changed soname,
> which is something I would be happier without :)
>
> --
> regards,
> Mattia Rizzolo
>
> GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`.
> More about me: https://mapreri.org<https://mapreri.org> : :' :
> Launchpad user: 
> https://launchpad.net/~mapreri<https://launchpad.net/~mapreri> `. `'`
> Debian QA page: 
> https://qa.debian.org/developer.php?login=mattia<https://qa.debian.org/developer.php?login=mattia>
>  `-
> _______________________________________________
> Podofo-users mailing list
> Podofo-users@lists.sourceforge.net<mailto:Podofo-users@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/podofo-users<https://lists.sourceforge.net/lists/listinfo/podofo-users>


_______________________________________________
Podofo-users mailing list
Podofo-users@lists.sourceforge.net<mailto:Podofo-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/podofo-users<https://lists.sourceforge.net/lists/listinfo/podofo-users>
_______________________________________________
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users

Reply via email to