[{"id":28421,"web_url":"https://patchwork.libcamera.org/comment/28421/","msgid":"<vhfblkyvtroo5fcldgvpocl3r7looitladi4l7j7ufm4ifmvjo@mn562wqbkzxw>","date":"2024-01-09T13:41:51","subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Dan\n\nOn Fri, Jan 05, 2024 at 04:41:01PM +0000, Daniel Scally via libcamera-devel wrote:\n> Meson array variables hold lists of libcamera's source files. To help\n> facilitate the splitting of Doxygen generated documentation into\n> distinct public and internal versions, split those arrays to separate\n> public and internal variables.\n>\n> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> ---\n> Changes in v2:\n>\n> \t- New patch\n>\n>  include/libcamera/base/meson.build     |  2 +-\n>  include/libcamera/internal/meson.build | 21 +++++++++++----\n>  src/libcamera/base/meson.build         | 24 +++++++++++------\n>  src/libcamera/meson.build              | 36 ++++++++++++++++----------\n>  4 files changed, 55 insertions(+), 28 deletions(-)\n>\n> diff --git a/include/libcamera/base/meson.build b/include/libcamera/base/meson.build\n> index bace25d5..f24f47de 100644\n> --- a/include/libcamera/base/meson.build\n> +++ b/include/libcamera/base/meson.build\n> @@ -10,7 +10,6 @@ libcamera_base_public_headers = files([\n>      'object.h',\n>      'shared_fd.h',\n>      'signal.h',\n> -    'span.h',\n>      'unique_fd.h',\n>  ])\n>\n> @@ -25,6 +24,7 @@ libcamera_base_private_headers = files([\n>      'mutex.h',\n>      'private.h',\n>      'semaphore.h',\n> +    'span.h',\n\nSpan<> is part of our public API, isn't it ?\n\nThe rest looks good, I presume I'll see in the next patches how this\nsplit is used\n\nThanks\n  j\n\n>      'thread.h',\n>      'thread_annotations.h',\n>      'timer.h',\n> diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build\n> index 7f1f3440..4d59cb2a 100644\n> --- a/include/libcamera/internal/meson.build\n> +++ b/include/libcamera/internal/meson.build\n> @@ -9,13 +9,21 @@ libcamera_tracepoint_header = custom_target(\n>      command : [gen_tracepoints_header, include_build_dir, '@OUTPUT@', '@INPUT@'],\n>  )\n>\n> -libcamera_internal_headers = files([\n> +# Where libcamera's public API classes have Extensible::Private counterparts we\n> +# need to include them in doxygen's public API run or it will complain that the\n> +# functions defined in the \"public\" source are undeclared.\n> +libcamera_internal_headers_publically_documented = files([\n> +    'camera.h',\n> +    'camera_manager.h',\n> +    'framebuffer.h',\n> +    'request.h',\n> +])\n> +\n> +libcamera_internal_headers_publically_undocumented = files([\n\nI would just s/_publically//\n\n>      'bayer_format.h',\n>      'byte_stream_buffer.h',\n> -    'camera.h',\n>      'camera_controls.h',\n>      'camera_lens.h',\n> -    'camera_manager.h',\n>      'camera_sensor.h',\n>      'camera_sensor_properties.h',\n>      'control_serializer.h',\n> @@ -26,7 +34,6 @@ libcamera_internal_headers = files([\n>      'device_enumerator_sysfs.h',\n>      'device_enumerator_udev.h',\n>      'formats.h',\n> -    'framebuffer.h',\n>      'ipa_manager.h',\n>      'ipa_module.h',\n>      'ipa_proxy.h',\n> @@ -37,7 +44,6 @@ libcamera_internal_headers = files([\n>      'pipeline_handler.h',\n>      'process.h',\n>      'pub_key.h',\n> -    'request.h',\n>      'source_paths.h',\n>      'sysfs.h',\n>      'v4l2_device.h',\n> @@ -47,4 +53,9 @@ libcamera_internal_headers = files([\n>      'yaml_parser.h',\n>  ])\n>\n> +libcamera_internal_headers = [\n> +    libcamera_internal_headers_publically_documented,\n> +    libcamera_internal_headers_publically_undocumented\n> +]\n> +\n>  subdir('converter')\n> diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build\n> index 7a7fd7e4..523c5885 100644\n> --- a/src/libcamera/base/meson.build\n> +++ b/src/libcamera/base/meson.build\n> @@ -1,27 +1,35 @@\n>  # SPDX-License-Identifier: CC0-1.0\n>\n> -libcamera_base_sources = files([\n> -    'backtrace.cpp',\n> -    'class.cpp',\n> +libcamera_base_public_sources = files([\n>      'bound_method.cpp',\n> +    'class.cpp',\n> +    'flags.cpp',\n> +    'object.cpp',\n> +    'shared_fd.cpp',\n> +    'signal.cpp',\n> +    'unique_fd.cpp',\n> +])\n> +\n> +libcamera_base_internal_sources = files([\n> +    'backtrace.cpp',\n>      'event_dispatcher.cpp',\n>      'event_dispatcher_poll.cpp',\n>      'event_notifier.cpp',\n>      'file.cpp',\n> -    'flags.cpp',\n>      'log.cpp',\n>      'message.cpp',\n>      'mutex.cpp',\n> -    'object.cpp',\n>      'semaphore.cpp',\n> -    'shared_fd.cpp',\n> -    'signal.cpp',\n>      'thread.cpp',\n>      'timer.cpp',\n> -    'unique_fd.cpp',\n>      'utils.cpp',\n>  ])\n>\n> +libcamera_base_sources = [\n> +\tlibcamera_base_public_sources,\n> +\tlibcamera_base_internal_sources\n> +]\n> +\n>  libdw = dependency('libdw', required : false)\n>  libunwind = dependency('libunwind', required : false)\n>\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index 45f63e93..676470c1 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -1,27 +1,35 @@\n>  # SPDX-License-Identifier: CC0-1.0\n>\n> -libcamera_sources = files([\n> +libcamera_public_sources = files([\n> +    'camera.cpp',\n> +    'camera_manager.cpp',\n> +    'color_space.cpp',\n> +    'controls.cpp',\n> +    'fence.cpp',\n> +    'framebuffer.cpp',\n> +    'framebuffer_allocator.cpp',\n> +    'geometry.cpp',\n> +    'orientation.cpp',\n> +    'pixel_format.cpp',\n> +    'request.cpp',\n> +    'stream.cpp',\n> +    'transform.cpp',\n> +])\n> +\n> +libcamera_internal_sources = files([\n>      'bayer_format.cpp',\n>      'byte_stream_buffer.cpp',\n> -    'camera.cpp',\n>      'camera_controls.cpp',\n>      'camera_lens.cpp',\n> -    'camera_manager.cpp',\n>      'camera_sensor.cpp',\n>      'camera_sensor_properties.cpp',\n> -    'color_space.cpp',\n> -    'controls.cpp',\n>      'control_serializer.cpp',\n>      'control_validator.cpp',\n>      'converter.cpp',\n>      'delayed_controls.cpp',\n>      'device_enumerator.cpp',\n>      'device_enumerator_sysfs.cpp',\n> -    'fence.cpp',\n>      'formats.cpp',\n> -    'framebuffer.cpp',\n> -    'framebuffer_allocator.cpp',\n> -    'geometry.cpp',\n>      'ipa_controls.cpp',\n>      'ipa_data_serializer.cpp',\n>      'ipa_interface.cpp',\n> @@ -34,16 +42,11 @@ libcamera_sources = files([\n>      'mapped_framebuffer.cpp',\n>      'media_device.cpp',\n>      'media_object.cpp',\n> -    'orientation.cpp',\n>      'pipeline_handler.cpp',\n> -    'pixel_format.cpp',\n>      'process.cpp',\n>      'pub_key.cpp',\n> -    'request.cpp',\n>      'source_paths.cpp',\n> -    'stream.cpp',\n>      'sysfs.cpp',\n> -    'transform.cpp',\n>      'v4l2_device.cpp',\n>      'v4l2_pixelformat.cpp',\n>      'v4l2_subdevice.cpp',\n> @@ -51,6 +54,11 @@ libcamera_sources = files([\n>      'yaml_parser.cpp',\n>  ])\n>\n> +libcamera_sources = [\n> +\tlibcamera_public_sources,\n> +\tlibcamera_internal_sources\n> +]\n> +\n>  libcamera_sources += libcamera_public_headers\n>  libcamera_sources += libcamera_generated_ipa_headers\n>  libcamera_sources += libcamera_tracepoint_header\n> --\n> 2.34.1\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 42654C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Jan 2024 13:41:58 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9626862B32;\n\tTue,  9 Jan 2024 14:41:57 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 52AF661D7B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Jan 2024 14:41:55 +0100 (CET)","from ideasonboard.com (unknown\n\t[IPv6:2001:b07:5d2e:52c9:cc1e:e404:491f:e6ea])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1DEFD922;\n\tTue,  9 Jan 2024 14:40:51 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1704807717;\n\tbh=XN/oDqNwUyWFN1SBenNTowx9aEA5PofDmFxTk8B4cno=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=ycTFWiUf79n6Exn6VxBtLjI8cva7r0lt5itkvafQgM0kzcFWF45ez8XFFTH7arGQ7\n\tW87tlzUvYU1vk6spoI8xJA8bSDu+Qnm+6NO5mnjwtUdDXikbbdCWx3hYWAX7cqAtf6\n\tKT0GQzYNE+esaDjGo8ka2jb11TNDQsoLsRZbFqYId6Ttcd06nwSWTSHRwBAevetVJo\n\t/ytwcnEiiFBAbA1OsGhOsgFY3MFcVQTx5VkYAWF2p7GokJubvLcUHFNTq1jaW32V6e\n\tAe56xIu/eFKwkKlytD4u+sZSUdl1m8tSvYTg3Zacq2ExuCFcU7CK0ymA9ROfr4TFST\n\tFwA0lb6NjOLxA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1704807651;\n\tbh=XN/oDqNwUyWFN1SBenNTowx9aEA5PofDmFxTk8B4cno=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=esA4rPvaTU9Lm9qguXIRQqfvuACTmiRFIcgTRBEKN3XyU0uax26z2ayV5je2m+zaG\n\tnOLFu4SZMqkGkydM6WbN/unK6POmiF5Aq3c0IUIzKfDrFDwbB60FkfbLRTcaraez4u\n\t7Au/hPSsVMbJY15woOXvYO7LK6BbZHu61R7Uxd/8="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"esA4rPva\"; dkim-atps=neutral","Date":"Tue, 9 Jan 2024 14:41:51 +0100","To":"Daniel Scally <dan.scally@ideasonboard.com>","Message-ID":"<vhfblkyvtroo5fcldgvpocl3r7looitladi4l7j7ufm4ifmvjo@mn562wqbkzxw>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-3-dan.scally@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20240105164104.78398-3-dan.scally@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28442,"web_url":"https://patchwork.libcamera.org/comment/28442/","msgid":"<170483833926.1166171.16891741643559428243@ping.linuxembedded.co.uk>","date":"2024-01-09T22:12:19","subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Jacopo Mondi via libcamera-devel (2024-01-09 13:41:51)\n> Hi Dan\n> \n> On Fri, Jan 05, 2024 at 04:41:01PM +0000, Daniel Scally via libcamera-devel wrote:\n> > Meson array variables hold lists of libcamera's source files. To help\n> > facilitate the splitting of Doxygen generated documentation into\n> > distinct public and internal versions, split those arrays to separate\n> > public and internal variables.\n> >\n> > Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> > ---\n> > Changes in v2:\n> >\n> >       - New patch\n> >\n> >  include/libcamera/base/meson.build     |  2 +-\n> >  include/libcamera/internal/meson.build | 21 +++++++++++----\n> >  src/libcamera/base/meson.build         | 24 +++++++++++------\n> >  src/libcamera/meson.build              | 36 ++++++++++++++++----------\n> >  4 files changed, 55 insertions(+), 28 deletions(-)\n> >\n> > diff --git a/include/libcamera/base/meson.build b/include/libcamera/base/meson.build\n> > index bace25d5..f24f47de 100644\n> > --- a/include/libcamera/base/meson.build\n> > +++ b/include/libcamera/base/meson.build\n> > @@ -10,7 +10,6 @@ libcamera_base_public_headers = files([\n> >      'object.h',\n> >      'shared_fd.h',\n> >      'signal.h',\n> > -    'span.h',\n> >      'unique_fd.h',\n> >  ])\n> >\n> > @@ -25,6 +24,7 @@ libcamera_base_private_headers = files([\n> >      'mutex.h',\n> >      'private.h',\n> >      'semaphore.h',\n> > +    'span.h',\n> \n> Span<> is part of our public API, isn't it ?\n\nI bet it's a real pain to get Doxygen to document though. We might want\na short explanation that the C++20 documentation can be used as a\nreference and we'll move to that implementation when we can.\n\n> \n> The rest looks good, I presume I'll see in the next patches how this\n> split is used\n> \n> Thanks\n>   j\n> \n> >      'thread.h',\n> >      'thread_annotations.h',\n> >      'timer.h',\n> > diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build\n> > index 7f1f3440..4d59cb2a 100644\n> > --- a/include/libcamera/internal/meson.build\n> > +++ b/include/libcamera/internal/meson.build\n> > @@ -9,13 +9,21 @@ libcamera_tracepoint_header = custom_target(\n> >      command : [gen_tracepoints_header, include_build_dir, '@OUTPUT@', '@INPUT@'],\n> >  )\n> >\n> > -libcamera_internal_headers = files([\n> > +# Where libcamera's public API classes have Extensible::Private counterparts we\n> > +# need to include them in doxygen's public API run or it will complain that the\n> > +# functions defined in the \"public\" source are undeclared.\n> > +libcamera_internal_headers_publically_documented = files([\n> > +    'camera.h',\n> > +    'camera_manager.h',\n> > +    'framebuffer.h',\n> > +    'request.h',\n> > +])\n> > +\n> > +libcamera_internal_headers_publically_undocumented = files([\n> \n> I would just s/_publically//\n\nSeconded.\n\nI think treating Span as a special case is probably ok. But we should\nprobably add documentation for it 'somewhere', but it doesn't have to be\nin this series, so I think I'd already add:\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> \n> >      'bayer_format.h',\n> >      'byte_stream_buffer.h',\n> > -    'camera.h',\n> >      'camera_controls.h',\n> >      'camera_lens.h',\n> > -    'camera_manager.h',\n> >      'camera_sensor.h',\n> >      'camera_sensor_properties.h',\n> >      'control_serializer.h',\n> > @@ -26,7 +34,6 @@ libcamera_internal_headers = files([\n> >      'device_enumerator_sysfs.h',\n> >      'device_enumerator_udev.h',\n> >      'formats.h',\n> > -    'framebuffer.h',\n> >      'ipa_manager.h',\n> >      'ipa_module.h',\n> >      'ipa_proxy.h',\n> > @@ -37,7 +44,6 @@ libcamera_internal_headers = files([\n> >      'pipeline_handler.h',\n> >      'process.h',\n> >      'pub_key.h',\n> > -    'request.h',\n> >      'source_paths.h',\n> >      'sysfs.h',\n> >      'v4l2_device.h',\n> > @@ -47,4 +53,9 @@ libcamera_internal_headers = files([\n> >      'yaml_parser.h',\n> >  ])\n> >\n> > +libcamera_internal_headers = [\n> > +    libcamera_internal_headers_publically_documented,\n> > +    libcamera_internal_headers_publically_undocumented\n> > +]\n> > +\n> >  subdir('converter')\n> > diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build\n> > index 7a7fd7e4..523c5885 100644\n> > --- a/src/libcamera/base/meson.build\n> > +++ b/src/libcamera/base/meson.build\n> > @@ -1,27 +1,35 @@\n> >  # SPDX-License-Identifier: CC0-1.0\n> >\n> > -libcamera_base_sources = files([\n> > -    'backtrace.cpp',\n> > -    'class.cpp',\n> > +libcamera_base_public_sources = files([\n> >      'bound_method.cpp',\n> > +    'class.cpp',\n> > +    'flags.cpp',\n> > +    'object.cpp',\n> > +    'shared_fd.cpp',\n> > +    'signal.cpp',\n> > +    'unique_fd.cpp',\n> > +])\n> > +\n> > +libcamera_base_internal_sources = files([\n> > +    'backtrace.cpp',\n> >      'event_dispatcher.cpp',\n> >      'event_dispatcher_poll.cpp',\n> >      'event_notifier.cpp',\n> >      'file.cpp',\n> > -    'flags.cpp',\n> >      'log.cpp',\n> >      'message.cpp',\n> >      'mutex.cpp',\n> > -    'object.cpp',\n> >      'semaphore.cpp',\n> > -    'shared_fd.cpp',\n> > -    'signal.cpp',\n> >      'thread.cpp',\n> >      'timer.cpp',\n> > -    'unique_fd.cpp',\n> >      'utils.cpp',\n> >  ])\n> >\n> > +libcamera_base_sources = [\n> > +     libcamera_base_public_sources,\n> > +     libcamera_base_internal_sources\n> > +]\n> > +\n> >  libdw = dependency('libdw', required : false)\n> >  libunwind = dependency('libunwind', required : false)\n> >\n> > diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> > index 45f63e93..676470c1 100644\n> > --- a/src/libcamera/meson.build\n> > +++ b/src/libcamera/meson.build\n> > @@ -1,27 +1,35 @@\n> >  # SPDX-License-Identifier: CC0-1.0\n> >\n> > -libcamera_sources = files([\n> > +libcamera_public_sources = files([\n> > +    'camera.cpp',\n> > +    'camera_manager.cpp',\n> > +    'color_space.cpp',\n> > +    'controls.cpp',\n> > +    'fence.cpp',\n> > +    'framebuffer.cpp',\n> > +    'framebuffer_allocator.cpp',\n> > +    'geometry.cpp',\n> > +    'orientation.cpp',\n> > +    'pixel_format.cpp',\n> > +    'request.cpp',\n> > +    'stream.cpp',\n> > +    'transform.cpp',\n> > +])\n> > +\n> > +libcamera_internal_sources = files([\n> >      'bayer_format.cpp',\n> >      'byte_stream_buffer.cpp',\n> > -    'camera.cpp',\n> >      'camera_controls.cpp',\n> >      'camera_lens.cpp',\n> > -    'camera_manager.cpp',\n> >      'camera_sensor.cpp',\n> >      'camera_sensor_properties.cpp',\n> > -    'color_space.cpp',\n> > -    'controls.cpp',\n> >      'control_serializer.cpp',\n> >      'control_validator.cpp',\n> >      'converter.cpp',\n> >      'delayed_controls.cpp',\n> >      'device_enumerator.cpp',\n> >      'device_enumerator_sysfs.cpp',\n> > -    'fence.cpp',\n> >      'formats.cpp',\n> > -    'framebuffer.cpp',\n> > -    'framebuffer_allocator.cpp',\n> > -    'geometry.cpp',\n> >      'ipa_controls.cpp',\n> >      'ipa_data_serializer.cpp',\n> >      'ipa_interface.cpp',\n> > @@ -34,16 +42,11 @@ libcamera_sources = files([\n> >      'mapped_framebuffer.cpp',\n> >      'media_device.cpp',\n> >      'media_object.cpp',\n> > -    'orientation.cpp',\n> >      'pipeline_handler.cpp',\n> > -    'pixel_format.cpp',\n> >      'process.cpp',\n> >      'pub_key.cpp',\n> > -    'request.cpp',\n> >      'source_paths.cpp',\n> > -    'stream.cpp',\n> >      'sysfs.cpp',\n> > -    'transform.cpp',\n> >      'v4l2_device.cpp',\n> >      'v4l2_pixelformat.cpp',\n> >      'v4l2_subdevice.cpp',\n> > @@ -51,6 +54,11 @@ libcamera_sources = files([\n> >      'yaml_parser.cpp',\n> >  ])\n> >\n> > +libcamera_sources = [\n> > +     libcamera_public_sources,\n> > +     libcamera_internal_sources\n> > +]\n> > +\n> >  libcamera_sources += libcamera_public_headers\n> >  libcamera_sources += libcamera_generated_ipa_headers\n> >  libcamera_sources += libcamera_tracepoint_header\n> > --\n> > 2.34.1\n> >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 05C02BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Jan 2024 22:12:23 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3FCAE62B5F;\n\tTue,  9 Jan 2024 23:12:23 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B7C5561D76\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Jan 2024 23:12:21 +0100 (CET)","from pendragon.ideasonboard.com\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4DBF5922;\n\tTue,  9 Jan 2024 23:11:17 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1704838343;\n\tbh=t8b71EdgjFlN9MMKLMjCuhqQyjNC7upw99EkeW1k97I=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=TgtXYguK1tuEO8odz2SS5ZEsBil8vk5TzGg5mKQlMQJ/znpH02w/MwVVybNDlH73B\n\tdk2JZ0uG9E3ts3vJat/6tan+q+m99VzEnuaxYyncxQ34DcIpJNK4f/1kWvMg/Bg72P\n\tlnqc0rr6NUZyn7i6yodozCFtnsOvBHlf8rLY/k3r3eyl1ZOZjvKBv7MWWGO4/SFgAr\n\tSEU7OUDruhlQfQoDQj8lgN1YEBzjUCbnACYT+29Ksna14X7HE4kMVyMm4JuIRkkbaX\n\tmdXTzkBs7+G/O3WVg+dD/IixPiIIap/5RwN02vR8H65MZhqenQt0/tlGNxtx3jBKmc\n\tDg6Ue0nvIInkw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1704838277;\n\tbh=t8b71EdgjFlN9MMKLMjCuhqQyjNC7upw99EkeW1k97I=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=eo9GAvZz5MbJdYfReVN9V+O+3tl7GQoQ0COVm6E8T/Q6s4QFzuWsQTl9hZAZ30q82\n\tWqCZc9ADGGiy1rzfKb5Pu+AtX4lyr+QwDwqMoUbRomoIa/zGhVdbI0iaSs9TsJToHM\n\turvotfljZriVNN5DCs+u1+NTgm5nk2QbbwZ0TcKs="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"eo9GAvZz\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<vhfblkyvtroo5fcldgvpocl3r7looitladi4l7j7ufm4ifmvjo@mn562wqbkzxw>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-3-dan.scally@ideasonboard.com>\n\t<vhfblkyvtroo5fcldgvpocl3r7looitladi4l7j7ufm4ifmvjo@mn562wqbkzxw>","To":"Daniel Scally <dan.scally@ideasonboard.com>,\n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tJacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Date":"Tue, 09 Jan 2024 22:12:19 +0000","Message-ID":"<170483833926.1166171.16891741643559428243@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28446,"web_url":"https://patchwork.libcamera.org/comment/28446/","msgid":"<b49fbfcd-b404-43ae-b7b5-e79a6e55931e@ideasonboard.com>","date":"2024-01-12T10:25:09","subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","submitter":{"id":156,"url":"https://patchwork.libcamera.org/api/people/156/","name":"Dan Scally","email":"dan.scally@ideasonboard.com"},"content":"On 09/01/2024 22:12, Kieran Bingham wrote:\n> Quoting Jacopo Mondi via libcamera-devel (2024-01-09 13:41:51)\n>> Hi Dan\n>>\n>> On Fri, Jan 05, 2024 at 04:41:01PM +0000, Daniel Scally via libcamera-devel wrote:\n>>> Meson array variables hold lists of libcamera's source files. To help\n>>> facilitate the splitting of Doxygen generated documentation into\n>>> distinct public and internal versions, split those arrays to separate\n>>> public and internal variables.\n>>>\n>>> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n>>> ---\n>>> Changes in v2:\n>>>\n>>>        - New patch\n>>>\n>>>   include/libcamera/base/meson.build     |  2 +-\n>>>   include/libcamera/internal/meson.build | 21 +++++++++++----\n>>>   src/libcamera/base/meson.build         | 24 +++++++++++------\n>>>   src/libcamera/meson.build              | 36 ++++++++++++++++----------\n>>>   4 files changed, 55 insertions(+), 28 deletions(-)\n>>>\n>>> diff --git a/include/libcamera/base/meson.build b/include/libcamera/base/meson.build\n>>> index bace25d5..f24f47de 100644\n>>> --- a/include/libcamera/base/meson.build\n>>> +++ b/include/libcamera/base/meson.build\n>>> @@ -10,7 +10,6 @@ libcamera_base_public_headers = files([\n>>>       'object.h',\n>>>       'shared_fd.h',\n>>>       'signal.h',\n>>> -    'span.h',\n>>>       'unique_fd.h',\n>>>   ])\n>>>\n>>> @@ -25,6 +24,7 @@ libcamera_base_private_headers = files([\n>>>       'mutex.h',\n>>>       'private.h',\n>>>       'semaphore.h',\n>>> +    'span.h',\n>> Span<> is part of our public API, isn't it ?\n> I bet it's a real pain to get Doxygen to document though. We might want\n> a short explanation that the C++20 documentation can be used as a\n> reference and we'll move to that implementation when we can.\n\n\nProbably this needed explaining better - apologies. Span<> is specifically excluded at the moment \nvia Doxygen's EXCLUDE keyword in the Doxyfile - so it looks a bit weird in this commit, but it's \nmaintaining the current treatment for the file.\n\n\nAlternatively I could leave these arrays untouched and simply keep the EXCLUDE in Doxyfile-public.in \nto exclude Span<> that way - is that less weird?\n\n>\n>> The rest looks good, I presume I'll see in the next patches how this\n>> split is used\n>>\n>> Thanks\n>>    j\n>>\n>>>       'thread.h',\n>>>       'thread_annotations.h',\n>>>       'timer.h',\n>>> diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build\n>>> index 7f1f3440..4d59cb2a 100644\n>>> --- a/include/libcamera/internal/meson.build\n>>> +++ b/include/libcamera/internal/meson.build\n>>> @@ -9,13 +9,21 @@ libcamera_tracepoint_header = custom_target(\n>>>       command : [gen_tracepoints_header, include_build_dir, '@OUTPUT@', '@INPUT@'],\n>>>   )\n>>>\n>>> -libcamera_internal_headers = files([\n>>> +# Where libcamera's public API classes have Extensible::Private counterparts we\n>>> +# need to include them in doxygen's public API run or it will complain that the\n>>> +# functions defined in the \"public\" source are undeclared.\n>>> +libcamera_internal_headers_publically_documented = files([\n>>> +    'camera.h',\n>>> +    'camera_manager.h',\n>>> +    'framebuffer.h',\n>>> +    'request.h',\n>>> +])\n>>> +\n>>> +libcamera_internal_headers_publically_undocumented = files([\n>> I would just s/_publically//\n> Seconded.\n>\n> I think treating Span as a special case is probably ok. But we should\n> probably add documentation for it 'somewhere', but it doesn't have to be\n> in this series, so I think I'd already add:\n>\n>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\nThanks!\n\n>>>       'bayer_format.h',\n>>>       'byte_stream_buffer.h',\n>>> -    'camera.h',\n>>>       'camera_controls.h',\n>>>       'camera_lens.h',\n>>> -    'camera_manager.h',\n>>>       'camera_sensor.h',\n>>>       'camera_sensor_properties.h',\n>>>       'control_serializer.h',\n>>> @@ -26,7 +34,6 @@ libcamera_internal_headers = files([\n>>>       'device_enumerator_sysfs.h',\n>>>       'device_enumerator_udev.h',\n>>>       'formats.h',\n>>> -    'framebuffer.h',\n>>>       'ipa_manager.h',\n>>>       'ipa_module.h',\n>>>       'ipa_proxy.h',\n>>> @@ -37,7 +44,6 @@ libcamera_internal_headers = files([\n>>>       'pipeline_handler.h',\n>>>       'process.h',\n>>>       'pub_key.h',\n>>> -    'request.h',\n>>>       'source_paths.h',\n>>>       'sysfs.h',\n>>>       'v4l2_device.h',\n>>> @@ -47,4 +53,9 @@ libcamera_internal_headers = files([\n>>>       'yaml_parser.h',\n>>>   ])\n>>>\n>>> +libcamera_internal_headers = [\n>>> +    libcamera_internal_headers_publically_documented,\n>>> +    libcamera_internal_headers_publically_undocumented\n>>> +]\n>>> +\n>>>   subdir('converter')\n>>> diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build\n>>> index 7a7fd7e4..523c5885 100644\n>>> --- a/src/libcamera/base/meson.build\n>>> +++ b/src/libcamera/base/meson.build\n>>> @@ -1,27 +1,35 @@\n>>>   # SPDX-License-Identifier: CC0-1.0\n>>>\n>>> -libcamera_base_sources = files([\n>>> -    'backtrace.cpp',\n>>> -    'class.cpp',\n>>> +libcamera_base_public_sources = files([\n>>>       'bound_method.cpp',\n>>> +    'class.cpp',\n>>> +    'flags.cpp',\n>>> +    'object.cpp',\n>>> +    'shared_fd.cpp',\n>>> +    'signal.cpp',\n>>> +    'unique_fd.cpp',\n>>> +])\n>>> +\n>>> +libcamera_base_internal_sources = files([\n>>> +    'backtrace.cpp',\n>>>       'event_dispatcher.cpp',\n>>>       'event_dispatcher_poll.cpp',\n>>>       'event_notifier.cpp',\n>>>       'file.cpp',\n>>> -    'flags.cpp',\n>>>       'log.cpp',\n>>>       'message.cpp',\n>>>       'mutex.cpp',\n>>> -    'object.cpp',\n>>>       'semaphore.cpp',\n>>> -    'shared_fd.cpp',\n>>> -    'signal.cpp',\n>>>       'thread.cpp',\n>>>       'timer.cpp',\n>>> -    'unique_fd.cpp',\n>>>       'utils.cpp',\n>>>   ])\n>>>\n>>> +libcamera_base_sources = [\n>>> +     libcamera_base_public_sources,\n>>> +     libcamera_base_internal_sources\n>>> +]\n>>> +\n>>>   libdw = dependency('libdw', required : false)\n>>>   libunwind = dependency('libunwind', required : false)\n>>>\n>>> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n>>> index 45f63e93..676470c1 100644\n>>> --- a/src/libcamera/meson.build\n>>> +++ b/src/libcamera/meson.build\n>>> @@ -1,27 +1,35 @@\n>>>   # SPDX-License-Identifier: CC0-1.0\n>>>\n>>> -libcamera_sources = files([\n>>> +libcamera_public_sources = files([\n>>> +    'camera.cpp',\n>>> +    'camera_manager.cpp',\n>>> +    'color_space.cpp',\n>>> +    'controls.cpp',\n>>> +    'fence.cpp',\n>>> +    'framebuffer.cpp',\n>>> +    'framebuffer_allocator.cpp',\n>>> +    'geometry.cpp',\n>>> +    'orientation.cpp',\n>>> +    'pixel_format.cpp',\n>>> +    'request.cpp',\n>>> +    'stream.cpp',\n>>> +    'transform.cpp',\n>>> +])\n>>> +\n>>> +libcamera_internal_sources = files([\n>>>       'bayer_format.cpp',\n>>>       'byte_stream_buffer.cpp',\n>>> -    'camera.cpp',\n>>>       'camera_controls.cpp',\n>>>       'camera_lens.cpp',\n>>> -    'camera_manager.cpp',\n>>>       'camera_sensor.cpp',\n>>>       'camera_sensor_properties.cpp',\n>>> -    'color_space.cpp',\n>>> -    'controls.cpp',\n>>>       'control_serializer.cpp',\n>>>       'control_validator.cpp',\n>>>       'converter.cpp',\n>>>       'delayed_controls.cpp',\n>>>       'device_enumerator.cpp',\n>>>       'device_enumerator_sysfs.cpp',\n>>> -    'fence.cpp',\n>>>       'formats.cpp',\n>>> -    'framebuffer.cpp',\n>>> -    'framebuffer_allocator.cpp',\n>>> -    'geometry.cpp',\n>>>       'ipa_controls.cpp',\n>>>       'ipa_data_serializer.cpp',\n>>>       'ipa_interface.cpp',\n>>> @@ -34,16 +42,11 @@ libcamera_sources = files([\n>>>       'mapped_framebuffer.cpp',\n>>>       'media_device.cpp',\n>>>       'media_object.cpp',\n>>> -    'orientation.cpp',\n>>>       'pipeline_handler.cpp',\n>>> -    'pixel_format.cpp',\n>>>       'process.cpp',\n>>>       'pub_key.cpp',\n>>> -    'request.cpp',\n>>>       'source_paths.cpp',\n>>> -    'stream.cpp',\n>>>       'sysfs.cpp',\n>>> -    'transform.cpp',\n>>>       'v4l2_device.cpp',\n>>>       'v4l2_pixelformat.cpp',\n>>>       'v4l2_subdevice.cpp',\n>>> @@ -51,6 +54,11 @@ libcamera_sources = files([\n>>>       'yaml_parser.cpp',\n>>>   ])\n>>>\n>>> +libcamera_sources = [\n>>> +     libcamera_public_sources,\n>>> +     libcamera_internal_sources\n>>> +]\n>>> +\n>>>   libcamera_sources += libcamera_public_headers\n>>>   libcamera_sources += libcamera_generated_ipa_headers\n>>>   libcamera_sources += libcamera_tracepoint_header\n>>> --\n>>> 2.34.1\n>>>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id D3805C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Jan 2024 10:35:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1A91E628B8;\n\tFri, 12 Jan 2024 11:35:16 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3F1F9628B5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Jan 2024 11:35:14 +0100 (CET)","from [192.168.0.43]\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id F20AAE62;\n\tFri, 12 Jan 2024 11:24:05 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1705055716;\n\tbh=IoVQ/22Vn3BgL3wdVuxTxeUf90H4A8mbuDF3lnHqlI8=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=QxBLvbVahTxOGRah4XkoDqETiki2hgudqbVxeu9/3H/4coVWd8jdfWrumHI+9U5IL\n\tMdbw5lU+/nGJ8/txSeZdH0pIlGbD09if9W/oCt0+DnHCMOIdtq5LfFPa1ZxXd55KRU\n\tSk/2Vi0ONayXSw93zU+ApDffv+l6dWgzMrXTFp+lrWC5Ry9l46fRvDMOWCv+5QAyQZ\n\tLf6pYmXEAHN6/vXF0ASYz6dDQ3115WURazEV3J8qo5YB0ZV+JIfiZgEerPNjHGOlWB\n\txlcQQifg139mz5WCReEYt2BJV4CaoRNSsNx+nlzAnWvGjzJn+yezrWEoI3vhiI8vWc\n\t6JTgJSwHj02tw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1705055046;\n\tbh=IoVQ/22Vn3BgL3wdVuxTxeUf90H4A8mbuDF3lnHqlI8=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=kFFSi8Z+tJxlJd9aEH/dYuPMqVHfLc7QMhMSygutfOpCPBLT+WZw/SXck5AaxnaQF\n\t+7l2ftZUau9Lb7QXUmxtDzy5QuLze6u1jT10uXGBXdmKTGk7SNh69/4nq5bKikIM/v\n\tPfW2etSqAP3NPLlnBax6hOiXSZc5oLEj52MPjPrI="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"kFFSi8Z+\"; dkim-atps=neutral","Message-ID":"<b49fbfcd-b404-43ae-b7b5-e79a6e55931e@ideasonboard.com>","Date":"Fri, 12 Jan 2024 10:25:09 +0000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Content-Language":"en-US","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tJacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-3-dan.scally@ideasonboard.com>\n\t<vhfblkyvtroo5fcldgvpocl3r7looitladi4l7j7ufm4ifmvjo@mn562wqbkzxw>\n\t<170483833926.1166171.16891741643559428243@ping.linuxembedded.co.uk>","Autocrypt":"addr=dan.scally@ideasonboard.com; keydata=\n\txsFNBGLydlEBEADa5O2s0AbUguprfvXOQun/0a8y2Vk6BqkQALgeD6KnXSWwaoCULp18etYW\n\tB31bfgrdphXQ5kUQibB0ADK8DERB4wrzrUb5CMxLBFE7mQty+v5NsP0OFNK9XTaAOcmD+Ove\n\teIjYvqurAaro91jrRVrS1gBRxIFqyPgNvwwL+alMZhn3/2jU2uvBmuRrgnc/e9cHKiuT3Dtq\n\tMHGPKL2m+plk+7tjMoQFfexoQ1JKugHAjxAhJfrkXh6uS6rc01bYCyo7ybzg53m1HLFJdNGX\n\tsUKR+dQpBs3SY4s66tc1sREJqdYyTsSZf80HjIeJjU/hRunRo4NjRIJwhvnK1GyjOvvuCKVU\n\tRWpY8dNjNu5OeAfdrlvFJOxIE9M8JuYCQTMULqd1NuzbpFMjc9524U3Cngs589T7qUMPb1H1\n\tNTA81LmtJ6Y+IV5/kiTUANflpzBwhu18Ok7kGyCq2a2jsOcVmk8gZNs04gyjuj8JziYwwLbf\n\tvzABwpFVcS8aR+nHIZV1HtOzyw8CsL8OySc3K9y+Y0NRpziMRvutrppzgyMb9V+N31mK9Mxl\n\t1YkgaTl4ciNWpdfUe0yxH03OCuHi3922qhPLF4XX5LN+NaVw5Xz2o3eeWklXdouxwV7QlN33\n\tu4+u2FWzKxDqO6WLQGjxPE0mVB4Gh5Pa1Vb0ct9Ctg0qElvtGQARAQABzShEYW4gU2NhbGx5\n\tIDxkYW4uc2NhbGx5QGlkZWFzb25ib2FyZC5jb20+wsGNBBMBCAA3FiEEsdtt8OWP7+8SNfQe\n\tkiQuh/L+GMQFAmLydlIFCQWjmoACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRCSJC6H8v4YxDI2\n\tEAC2Gz0iyaXJkPInyshrREEWbo0CA6v5KKf3I/HlMPqkZ48bmGoYm4mEQGFWZJAT3K4ir8bg\n\tcEfs9V54gpbrZvdwS4abXbUK4WjKwEs8HK3XJv1WXUN2bsz5oEJWZUImh9gD3naiLLI9QMMm\n\tw/aZkT+NbN5/2KvChRWhdcha7+2Te4foOY66nIM+pw2FZM6zIkInLLUik2zXOhaZtqdeJZQi\n\tHSPU9xu7TRYN4cvdZAnSpG7gQqmLm5/uGZN1/sB3kHTustQtSXKMaIcD/DMNI3JN/t+RJVS7\n\tc0Jh/ThzTmhHyhxx3DRnDIy7kwMI4CFvmhkVC2uNs9kWsj1DuX5kt8513mvfw2OcX9UnNKmZ\n\tnhNCuF6DxVrL8wjOPuIpiEj3V+K7DFF1Cxw1/yrLs8dYdYh8T8vCY2CHBMsqpESROnTazboh\n\tAiQ2xMN1cyXtX11Qwqm5U3sykpLbx2BcmUUUEAKNsM//Zn81QXKG8vOx0ZdMfnzsCaCzt8f6\n\t9dcDBBI3tJ0BI9ByiocqUoL6759LM8qm18x3FYlxvuOs4wSGPfRVaA4yh0pgI+ModVC2Pu3y\n\tejE/IxeatGqJHh6Y+iJzskdi27uFkRixl7YJZvPJAbEn7kzSi98u/5ReEA8Qhc8KO/B7wprj\n\txjNMZNYd0Eth8+WkixHYj752NT5qshKJXcyUU87BTQRi8nZSARAAx0BJayh1Fhwbf4zoY56x\n\txHEpT6DwdTAYAetd3yiKClLVJadYxOpuqyWa1bdfQWPb+h4MeXbWw/53PBgn7gI2EA7ebIRC\n\tPJJhAIkeym7hHZoxqDQTGDJjxFEL11qF+U3rhWiL2Zt0Pl+zFq0eWYYVNiXjsIS4FI2+4m16\n\ttPbDWZFJnSZ828VGtRDQdhXfx3zyVX21lVx1bX4/OZvIET7sVUufkE4hrbqrrufre7wsjD1t\n\t8MQKSapVrr1RltpzPpScdoxknOSBRwOvpp57pJJe5A0L7+WxJ+vQoQXj0j+5tmIWOAV1qBQp\n\thyoyUk9JpPfntk2EKnZHWaApFp5TcL6c5LhUvV7F6XwOjGPuGlZQCWXee9dr7zym8iR3irWT\n\t+49bIh5PMlqSLXJDYbuyFQHFxoiNdVvvf7etvGfqFYVMPVjipqfEQ38ST2nkzx+KBICz7uwj\n\tJwLBdTXzGFKHQNckGMl7F5QdO/35An/QcxBnHVMXqaSd12tkJmoRVWduwuuoFfkTY5mUV3uX\n\txGj3iVCK4V+ezOYA7c2YolfRCNMTza6vcK/P4tDjjsyBBZrCCzhBvd4VVsnnlZhVaIxoky4K\n\taL+AP+zcQrUZmXmgZjXOLryGnsaeoVrIFyrU6ly90s1y3KLoPsDaTBMtnOdwxPmo1xisH8oL\n\ta/VRgpFBfojLPxMAEQEAAcLBfAQYAQgAJhYhBLHbbfDlj+/vEjX0HpIkLofy/hjEBQJi8nZT\n\tBQkFo5qAAhsMAAoJEJIkLofy/hjEXPcQAMIPNqiWiz/HKu9W4QIf1OMUpKn3YkVIj3p3gvfM\n\tRes4fGX94Ji599uLNrPoxKyaytC4R6BTxVriTJjWK8mbo9jZIRM4vkwkZZ2bu98EweSucxbp\n\tvjESsvMXGgxniqV/RQ/3T7LABYRoIUutARYq58p5HwSP0frF0fdFHYdTa2g7MYZl1ur2JzOC\n\tFHRpGadlNzKDE3fEdoMobxHB3Lm6FDml5GyBAA8+dQYVI0oDwJ3gpZPZ0J5Vx9RbqXe8RDuR\n\tdu90hvCJkq7/tzSQ0GeD3BwXb9/R/A4dVXhaDd91Q1qQXidI+2jwhx8iqiYxbT+DoAUkQRQy\n\txBtoCM1CxH7u45URUgD//fxYr3D4B1SlonA6vdaEdHZOGwECnDpTxecENMbz/Bx7qfrmd901\n\tD+N9SjIwrbVhhSyUXYnSUb8F+9g2RDY42Sk7GcYxIeON4VzKqWM7hpkXZ47pkK0YodO+dRKM\n\tyMcoUWrTK0Uz6UzUGKoJVbxmSW/EJLEGoI5p3NWxWtScEVv8mO49gqQdrRIOheZycDmHnItt\n\t9Qjv00uFhEwv2YfiyGk6iGF2W40s2pH2t6oeuGgmiZ7g6d0MEK8Ql/4zPItvr1c1rpwpXUC1\n\tu1kQWgtnNjFHX3KiYdqjcZeRBiry1X0zY+4Y24wUU0KsEewJwjhmCKAsju1RpdlPg2kC","In-Reply-To":"<170483833926.1166171.16891741643559428243@ping.linuxembedded.co.uk>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Dan Scally via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Dan Scally <dan.scally@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28448,"web_url":"https://patchwork.libcamera.org/comment/28448/","msgid":"<170505668125.3044059.18015634246856691996@ping.linuxembedded.co.uk>","date":"2024-01-12T10:51:21","subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Dan Scally (2024-01-12 10:25:09)\n> \n> On 09/01/2024 22:12, Kieran Bingham wrote:\n> > Quoting Jacopo Mondi via libcamera-devel (2024-01-09 13:41:51)\n> >> Hi Dan\n> >>\n> >> On Fri, Jan 05, 2024 at 04:41:01PM +0000, Daniel Scally via libcamera-devel wrote:\n> >>> Meson array variables hold lists of libcamera's source files. To help\n> >>> facilitate the splitting of Doxygen generated documentation into\n> >>> distinct public and internal versions, split those arrays to separate\n> >>> public and internal variables.\n> >>>\n> >>> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> >>> ---\n> >>> Changes in v2:\n> >>>\n> >>>        - New patch\n> >>>\n> >>>   include/libcamera/base/meson.build     |  2 +-\n> >>>   include/libcamera/internal/meson.build | 21 +++++++++++----\n> >>>   src/libcamera/base/meson.build         | 24 +++++++++++------\n> >>>   src/libcamera/meson.build              | 36 ++++++++++++++++----------\n> >>>   4 files changed, 55 insertions(+), 28 deletions(-)\n> >>>\n> >>> diff --git a/include/libcamera/base/meson.build b/include/libcamera/base/meson.build\n> >>> index bace25d5..f24f47de 100644\n> >>> --- a/include/libcamera/base/meson.build\n> >>> +++ b/include/libcamera/base/meson.build\n> >>> @@ -10,7 +10,6 @@ libcamera_base_public_headers = files([\n> >>>       'object.h',\n> >>>       'shared_fd.h',\n> >>>       'signal.h',\n> >>> -    'span.h',\n> >>>       'unique_fd.h',\n> >>>   ])\n> >>>\n> >>> @@ -25,6 +24,7 @@ libcamera_base_private_headers = files([\n> >>>       'mutex.h',\n> >>>       'private.h',\n> >>>       'semaphore.h',\n> >>> +    'span.h',\n> >> Span<> is part of our public API, isn't it ?\n> > I bet it's a real pain to get Doxygen to document though. We might want\n> > a short explanation that the C++20 documentation can be used as a\n> > reference and we'll move to that implementation when we can.\n> \n> \n> Probably this needed explaining better - apologies. Span<> is specifically excluded at the moment \n> via Doxygen's EXCLUDE keyword in the Doxyfile - so it looks a bit weird in this commit, but it's \n> maintaining the current treatment for the file.\n> \n> \n\n> Alternatively I could leave these arrays untouched and simply keep the\n> EXCLUDE in Doxyfile-public.in to exclude Span<> that way - is that\n> less weird?\n\nI think so. It's probably important to keep span.h in the\nlibcamera_base_public_headers array so that it gets installed as part of\na libcamera package.\n\nIn fact, I think I overlooked that before. If this prevents the span.h\nbeing installed, that's a breakage so we can't do that.\n\nIn otherwords, your new proposal sounds like something we should do.\n\n--\nKieran","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id E10CAC323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Jan 2024 10:51:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2854F628B7;\n\tFri, 12 Jan 2024 11:51:25 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6D6DD628B1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Jan 2024 11:51:23 +0100 (CET)","from pendragon.ideasonboard.com\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6CBFA1225;\n\tFri, 12 Jan 2024 11:50:17 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1705056685;\n\tbh=3t/t2YhRXLXBGPc1gugF6+n7SUcK5qASUNsmCgIyIVw=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=IhpNVTNuGUMRqJyPE0C3KrUTtA5FH3w4ruJqygpUVAnXz3mhJmAwDdRHKDBwjVLv2\n\twb0897u3vZOINUh8mjujth40grPw1hU6huLQaxioZd4Ttx1S9fhvO7RY+mHOqgpYny\n\thu0gbK8FK2rbjg2bP7IaC+54esqFSZmKSDw02mPfpZb2yO+JnDL/pGIzwilsK5LhqG\n\tFI+a9RF0+lQxVXRtu0rr1Ii3VmVGv5vK6eWDW3oyNrPeCciK+nzWmyggHslfwK2o1p\n\tj8nRoEwjJ/QLGopmbZD+kygcTmvFv07Nlp9e3fYVMDMrS1rnmyJPIfUp9fojTEoNn6\n\tgpfqLOLlibCbg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1705056617;\n\tbh=3t/t2YhRXLXBGPc1gugF6+n7SUcK5qASUNsmCgIyIVw=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=iz54jbgkPHJp5rk8gLQXyM3hq6NuKcJqNul8tda8xnCN1yGR7vJp7C3zDa6KByaVY\n\tMmXZ3fseD0pDH0mFAnxaRwtE2vNLnZqNQvIPEFoypMNRuMz2pKfTehFIBQE/kQIfzS\n\tWZWKyumhuzs5FZe8vgr2QQUGZlNXrPWF0VrHy42M="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"iz54jbgk\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<b49fbfcd-b404-43ae-b7b5-e79a6e55931e@ideasonboard.com>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-3-dan.scally@ideasonboard.com>\n\t<vhfblkyvtroo5fcldgvpocl3r7looitladi4l7j7ufm4ifmvjo@mn562wqbkzxw>\n\t<170483833926.1166171.16891741643559428243@ping.linuxembedded.co.uk>\n\t<b49fbfcd-b404-43ae-b7b5-e79a6e55931e@ideasonboard.com>","To":"Dan Scally <dan.scally@ideasonboard.com>,\n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tJacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Date":"Fri, 12 Jan 2024 10:51:21 +0000","Message-ID":"<170505668125.3044059.18015634246856691996@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28450,"web_url":"https://patchwork.libcamera.org/comment/28450/","msgid":"<121e891b-3bbf-40ef-bdf8-7ca0b2ea7c55@ideasonboard.com>","date":"2024-01-12T11:10:35","subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","submitter":{"id":156,"url":"https://patchwork.libcamera.org/api/people/156/","name":"Dan Scally","email":"dan.scally@ideasonboard.com"},"content":"On 12/01/2024 10:51, Kieran Bingham wrote:\n> Quoting Dan Scally (2024-01-12 10:25:09)\n>> On 09/01/2024 22:12, Kieran Bingham wrote:\n>>> Quoting Jacopo Mondi via libcamera-devel (2024-01-09 13:41:51)\n>>>> Hi Dan\n>>>>\n>>>> On Fri, Jan 05, 2024 at 04:41:01PM +0000, Daniel Scally via libcamera-devel wrote:\n>>>>> Meson array variables hold lists of libcamera's source files. To help\n>>>>> facilitate the splitting of Doxygen generated documentation into\n>>>>> distinct public and internal versions, split those arrays to separate\n>>>>> public and internal variables.\n>>>>>\n>>>>> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n>>>>> ---\n>>>>> Changes in v2:\n>>>>>\n>>>>>         - New patch\n>>>>>\n>>>>>    include/libcamera/base/meson.build     |  2 +-\n>>>>>    include/libcamera/internal/meson.build | 21 +++++++++++----\n>>>>>    src/libcamera/base/meson.build         | 24 +++++++++++------\n>>>>>    src/libcamera/meson.build              | 36 ++++++++++++++++----------\n>>>>>    4 files changed, 55 insertions(+), 28 deletions(-)\n>>>>>\n>>>>> diff --git a/include/libcamera/base/meson.build b/include/libcamera/base/meson.build\n>>>>> index bace25d5..f24f47de 100644\n>>>>> --- a/include/libcamera/base/meson.build\n>>>>> +++ b/include/libcamera/base/meson.build\n>>>>> @@ -10,7 +10,6 @@ libcamera_base_public_headers = files([\n>>>>>        'object.h',\n>>>>>        'shared_fd.h',\n>>>>>        'signal.h',\n>>>>> -    'span.h',\n>>>>>        'unique_fd.h',\n>>>>>    ])\n>>>>>\n>>>>> @@ -25,6 +24,7 @@ libcamera_base_private_headers = files([\n>>>>>        'mutex.h',\n>>>>>        'private.h',\n>>>>>        'semaphore.h',\n>>>>> +    'span.h',\n>>>> Span<> is part of our public API, isn't it ?\n>>> I bet it's a real pain to get Doxygen to document though. We might want\n>>> a short explanation that the C++20 documentation can be used as a\n>>> reference and we'll move to that implementation when we can.\n>>\n>> Probably this needed explaining better - apologies. Span<> is specifically excluded at the moment\n>> via Doxygen's EXCLUDE keyword in the Doxyfile - so it looks a bit weird in this commit, but it's\n>> maintaining the current treatment for the file.\n>>\n>>\n>> Alternatively I could leave these arrays untouched and simply keep the\n>> EXCLUDE in Doxyfile-public.in to exclude Span<> that way - is that\n>> less weird?\n> I think so. It's probably important to keep span.h in the\n> libcamera_base_public_headers array so that it gets installed as part of\n> a libcamera package.\n>\n> In fact, I think I overlooked that before. If this prevents the span.h\n> being installed, that's a breakage so we can't do that.\n>\n> In otherwords, your new proposal sounds like something we should do.\n\n\nAck - doing that now then\n\n> --\n> Kieran","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 75C48C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Jan 2024 11:10:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 59209628B8;\n\tFri, 12 Jan 2024 12:10:38 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C86BC61E17\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Jan 2024 12:10:37 +0100 (CET)","from [192.168.0.43]\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id AD7267E4;\n\tFri, 12 Jan 2024 12:09:31 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1705057838;\n\tbh=rQAI/hWe4RriDa+mpZueQxNSv6YQjxNyFGgyjKPoQyE=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=4L5SXpN84KjBXgftMVjZ3fppeVrhJhJCdnDLDMxtDurSGr6jiM/AC6Af4a19hVIOj\n\tvCQLXSB8iFwxNvQaty0H4WOsluXIbEdmiLwY+/uhsEB7jM+RcipMdBmSzBxaXV/L1R\n\tPyaqAJJ8gfVaroFVFjdazk2k9Zw3YtQirYo2gY6i2iDipuyjnyYeT1NCrBq78SYRJq\n\toDogMpvZ4/O+MIQeUytBxenTn4OsH8u9hzMaM+irgjMkOz6NCPTzz65agf5sZXJ7ez\n\tJom6oZ2Sd1rypZ+fTSTcCcUkvQ6c8RkFjcB381ff13NIazkyzdupmjcm1R8309Sv9q\n\tHipDaBRqB/nBw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1705057771;\n\tbh=rQAI/hWe4RriDa+mpZueQxNSv6YQjxNyFGgyjKPoQyE=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=kvThc615YqvvWQ99KwC2vPah7v6xLrKMlL1oBayXEa/7eFQWrtKDBcxduU393eQFL\n\trhxf2h8t+YJ2e1w2gEM3pi57hL1vvtcqf+qvIgGlED3HpoNqz499ukB5zvli0TcwPu\n\t4FwXG20LgVh70asAYAHxKEkhBwKIzBFLZfvGun9U="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"kvThc615\"; dkim-atps=neutral","Message-ID":"<121e891b-3bbf-40ef-bdf8-7ca0b2ea7c55@ideasonboard.com>","Date":"Fri, 12 Jan 2024 11:10:35 +0000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Content-Language":"en-US","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tJacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-3-dan.scally@ideasonboard.com>\n\t<vhfblkyvtroo5fcldgvpocl3r7looitladi4l7j7ufm4ifmvjo@mn562wqbkzxw>\n\t<170483833926.1166171.16891741643559428243@ping.linuxembedded.co.uk>\n\t<b49fbfcd-b404-43ae-b7b5-e79a6e55931e@ideasonboard.com>\n\t<170505668125.3044059.18015634246856691996@ping.linuxembedded.co.uk>","Autocrypt":"addr=dan.scally@ideasonboard.com; keydata=\n\t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","In-Reply-To":"<170505668125.3044059.18015634246856691996@ping.linuxembedded.co.uk>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public\n\tand internal source arrays","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Dan Scally via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Dan Scally <dan.scally@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]