[libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public and internal source arrays

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Jan 12 11:51:21 CET 2024


Quoting Dan Scally (2024-01-12 10:25:09)
> 
> On 09/01/2024 22:12, Kieran Bingham wrote:
> > Quoting Jacopo Mondi via libcamera-devel (2024-01-09 13:41:51)
> >> Hi Dan
> >>
> >> On Fri, Jan 05, 2024 at 04:41:01PM +0000, Daniel Scally via libcamera-devel wrote:
> >>> Meson array variables hold lists of libcamera's source files. To help
> >>> facilitate the splitting of Doxygen generated documentation into
> >>> distinct public and internal versions, split those arrays to separate
> >>> public and internal variables.
> >>>
> >>> Signed-off-by: Daniel Scally <dan.scally at ideasonboard.com>
> >>> ---
> >>> Changes in v2:
> >>>
> >>>        - New patch
> >>>
> >>>   include/libcamera/base/meson.build     |  2 +-
> >>>   include/libcamera/internal/meson.build | 21 +++++++++++----
> >>>   src/libcamera/base/meson.build         | 24 +++++++++++------
> >>>   src/libcamera/meson.build              | 36 ++++++++++++++++----------
> >>>   4 files changed, 55 insertions(+), 28 deletions(-)
> >>>
> >>> diff --git a/include/libcamera/base/meson.build b/include/libcamera/base/meson.build
> >>> index bace25d5..f24f47de 100644
> >>> --- a/include/libcamera/base/meson.build
> >>> +++ b/include/libcamera/base/meson.build
> >>> @@ -10,7 +10,6 @@ libcamera_base_public_headers = files([
> >>>       'object.h',
> >>>       'shared_fd.h',
> >>>       'signal.h',
> >>> -    'span.h',
> >>>       'unique_fd.h',
> >>>   ])
> >>>
> >>> @@ -25,6 +24,7 @@ libcamera_base_private_headers = files([
> >>>       'mutex.h',
> >>>       'private.h',
> >>>       'semaphore.h',
> >>> +    'span.h',
> >> Span<> is part of our public API, isn't it ?
> > I bet it's a real pain to get Doxygen to document though. We might want
> > a short explanation that the C++20 documentation can be used as a
> > reference and we'll move to that implementation when we can.
> 
> 
> Probably this needed explaining better - apologies. Span<> is specifically excluded at the moment 
> via Doxygen's EXCLUDE keyword in the Doxyfile - so it looks a bit weird in this commit, but it's 
> maintaining the current treatment for the file.
> 
> 

> Alternatively I could leave these arrays untouched and simply keep the
> EXCLUDE in Doxyfile-public.in to exclude Span<> that way - is that
> less weird?

I think so. It's probably important to keep span.h in the
libcamera_base_public_headers array so that it gets installed as part of
a libcamera package.

In fact, I think I overlooked that before. If this prevents the span.h
being installed, that's a breakage so we can't do that.

In otherwords, your new proposal sounds like something we should do.

--
Kieran


More information about the libcamera-devel mailing list