[libcamera-devel] [PATCH v2 0/2] libcamera: revert C++17 specific code for public API

Jean-Michel Hautbois jeanmichel.hautbois at gmail.com
Wed Jan 27 07:46:00 CET 2021


Hi Laurent,

On 26/01/2021 22:25, Laurent Pinchart wrote:
> On Tue, Jan 26, 2021 at 11:19:06PM +0200, Laurent Pinchart wrote:
>> Hi Jean-Michel,
>>
>> Thank you for the patch.
>>
>> On Tue, Jan 26, 2021 at 02:04:13PM +0100, Jean-Michel Hautbois wrote:
>>> Some applications may not be compliant with C++17 (Chromium, as an
>>> example). Keep the C++17 features for libcamera internals, and C++14
>>> compliance for public API.
>>
>> This should be captured in the commit message of the two patches, as the
>> cover letter won't end up in the git history.
>>
>> The series make sense, the more lightweight our requirements will be in
>> terms of modern features in the public API, the more applications will
>> be able to use libcamera. libcamera itself stays C++17, but at this
>> point of time, sticking to C++14 in the public API isn't a huge hassle.
>>
>> This is of course a matter of finding a proper balance, I'm sure we will
>> eventually want to move the public API to C++17 too. Chromium is the
>> only application I'm aware of that is affected by the lack of C++17
>> support, and it will eventually get migrated, solving this particular
>> issue. We will then be able to revert the reverts, if desired.
>>
>> I've also been wondering if the libcamera integration in Chromium could
>> be compiled with -std=c++17, with the rest of the browser still compiled
>> in C++14 mode. It could be useful to get a confirmation from Google on
>> whether this is possible or not. I've asked and am waiting for feedback,
>> but this isn't blocking and we can move ahead with this series.
> 
> https://github.com/jhautbois/chromium/blob/master/skia/BUILD.gn#L205
> 
> Could something similar be done for libcamera ?

Oh, nice catch, this is why I hate BUILD.gn it is not clear where the
options should lie to be correctly applied :-p.
I will try and get back to you !

>> With the commit message updated (which can be done when applying),
>>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>>
>> I'll give others a few days to shime in if desired before pushing this.
>>
>>> ---
>>> Changes in v2:
>>> - keep each revert separate
>>>
>>> Jean-Michel Hautbois (2):
>>>   Revert "libcamera: span: Provide and use helper variable templates for
>>>     type traits"
>>>   Revert "libcamera: Use helper variable template for type traits"
>>>
>>>  include/libcamera/bound_method.h |  2 +-
>>>  include/libcamera/controls.h     | 24 +++++------
>>>  include/libcamera/object.h       |  2 +-
>>>  include/libcamera/signal.h       |  4 +-
>>>  include/libcamera/span.h         | 70 +++++++++++++++-----------------
>>>  5 files changed, 48 insertions(+), 54 deletions(-)
> 

-- 
Regards,
JM


More information about the libcamera-devel mailing list