From patchwork Fri Jan 5 16:41:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Scally X-Patchwork-Id: 19373 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 4C06CC323E for ; Fri, 5 Jan 2024 16:41:28 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id EC8D862B40; Fri, 5 Jan 2024 17:41:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1704472888; bh=dwk3a9Y6xmTw3MwEuLMpOLZJyTebEKOIj/0Y3l2S380=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=brZWX7VET8xjhuBzoGfw9AFMsFSXwos/k08zDIeRSmvvUeSJ7qnYbvqARIsEhFWIY 92DFVPIeJQApeAX/m7HxnhwobVAHpDLgWcZsEFmDb0cQT6t8CLcgJR1EltvVrtr8S6 NMnWXRWlHYKMIOMBV6Fe8Abu91CzwpPfPvRdMq2o9L/rfjITrPSPQ4NOwjNmvMG/N8 uMz/8F33antot873F0UUwYUvxcgLXX5NGydue8Z2F/G/SzU/82C43BBV7EV5EZgdxb tELgxsGv7jNNnVP+n69m9BZXY4mYPRKtO+UINaxWjcbAKWEfGkYnb599LGGyjP2AlH CDFnIyu7siZnw== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 5CD4E61D7F for ; Fri, 5 Jan 2024 17:41:22 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Leo7BAL4"; dkim-atps=neutral Received: from mail.ideasonboard.com (cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id DE14F720; Fri, 5 Jan 2024 17:40:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1704472821; bh=dwk3a9Y6xmTw3MwEuLMpOLZJyTebEKOIj/0Y3l2S380=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Leo7BAL4E2ULe2UiD1Srh3VJQSSw85YjTwhkvLeMZxT2vDEy1GacROI64jmyBbkhn MVd1+fvqFMntN9+Xl3Sm36wMDjPtiFnIS5PuxVZS3AdV1Y1wqOWkMjJJDMqlrxdY1S z+0bnxmdzorc32fNkO7ET5P7Yta5ZEp2iAvThu0c= To: libcamera-devel@lists.libcamera.org Date: Fri, 5 Jan 2024 16:41:01 +0000 Message-Id: <20240105164104.78398-3-dan.scally@ideasonboard.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240105164104.78398-1-dan.scally@ideasonboard.com> References: <20240105164104.78398-1-dan.scally@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 2/5] meson: libcamera: Split public and internal source arrays X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Daniel Scally via libcamera-devel From: Dan Scally Reply-To: Daniel Scally Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" 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 Reviewed-by: Kieran Bingham --- 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', 'thread.h', 'thread_annotations.h', 'timer.h', diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build index 7f1f3440..4d59cb2a 100644 --- a/include/libcamera/internal/meson.build +++ b/include/libcamera/internal/meson.build @@ -9,13 +9,21 @@ libcamera_tracepoint_header = custom_target( command : [gen_tracepoints_header, include_build_dir, '@OUTPUT@', '@INPUT@'], ) -libcamera_internal_headers = files([ +# Where libcamera's public API classes have Extensible::Private counterparts we +# need to include them in doxygen's public API run or it will complain that the +# functions defined in the "public" source are undeclared. +libcamera_internal_headers_publically_documented = files([ + 'camera.h', + 'camera_manager.h', + 'framebuffer.h', + 'request.h', +]) + +libcamera_internal_headers_publically_undocumented = files([ 'bayer_format.h', 'byte_stream_buffer.h', - 'camera.h', 'camera_controls.h', 'camera_lens.h', - 'camera_manager.h', 'camera_sensor.h', 'camera_sensor_properties.h', 'control_serializer.h', @@ -26,7 +34,6 @@ libcamera_internal_headers = files([ 'device_enumerator_sysfs.h', 'device_enumerator_udev.h', 'formats.h', - 'framebuffer.h', 'ipa_manager.h', 'ipa_module.h', 'ipa_proxy.h', @@ -37,7 +44,6 @@ libcamera_internal_headers = files([ 'pipeline_handler.h', 'process.h', 'pub_key.h', - 'request.h', 'source_paths.h', 'sysfs.h', 'v4l2_device.h', @@ -47,4 +53,9 @@ libcamera_internal_headers = files([ 'yaml_parser.h', ]) +libcamera_internal_headers = [ + libcamera_internal_headers_publically_documented, + libcamera_internal_headers_publically_undocumented +] + subdir('converter') diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build index 7a7fd7e4..523c5885 100644 --- a/src/libcamera/base/meson.build +++ b/src/libcamera/base/meson.build @@ -1,27 +1,35 @@ # SPDX-License-Identifier: CC0-1.0 -libcamera_base_sources = files([ - 'backtrace.cpp', - 'class.cpp', +libcamera_base_public_sources = files([ 'bound_method.cpp', + 'class.cpp', + 'flags.cpp', + 'object.cpp', + 'shared_fd.cpp', + 'signal.cpp', + 'unique_fd.cpp', +]) + +libcamera_base_internal_sources = files([ + 'backtrace.cpp', 'event_dispatcher.cpp', 'event_dispatcher_poll.cpp', 'event_notifier.cpp', 'file.cpp', - 'flags.cpp', 'log.cpp', 'message.cpp', 'mutex.cpp', - 'object.cpp', 'semaphore.cpp', - 'shared_fd.cpp', - 'signal.cpp', 'thread.cpp', 'timer.cpp', - 'unique_fd.cpp', 'utils.cpp', ]) +libcamera_base_sources = [ + libcamera_base_public_sources, + libcamera_base_internal_sources +] + libdw = dependency('libdw', required : false) libunwind = dependency('libunwind', required : false) diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index 45f63e93..676470c1 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -1,27 +1,35 @@ # SPDX-License-Identifier: CC0-1.0 -libcamera_sources = files([ +libcamera_public_sources = files([ + 'camera.cpp', + 'camera_manager.cpp', + 'color_space.cpp', + 'controls.cpp', + 'fence.cpp', + 'framebuffer.cpp', + 'framebuffer_allocator.cpp', + 'geometry.cpp', + 'orientation.cpp', + 'pixel_format.cpp', + 'request.cpp', + 'stream.cpp', + 'transform.cpp', +]) + +libcamera_internal_sources = files([ 'bayer_format.cpp', 'byte_stream_buffer.cpp', - 'camera.cpp', 'camera_controls.cpp', 'camera_lens.cpp', - 'camera_manager.cpp', 'camera_sensor.cpp', 'camera_sensor_properties.cpp', - 'color_space.cpp', - 'controls.cpp', 'control_serializer.cpp', 'control_validator.cpp', 'converter.cpp', 'delayed_controls.cpp', 'device_enumerator.cpp', 'device_enumerator_sysfs.cpp', - 'fence.cpp', 'formats.cpp', - 'framebuffer.cpp', - 'framebuffer_allocator.cpp', - 'geometry.cpp', 'ipa_controls.cpp', 'ipa_data_serializer.cpp', 'ipa_interface.cpp', @@ -34,16 +42,11 @@ libcamera_sources = files([ 'mapped_framebuffer.cpp', 'media_device.cpp', 'media_object.cpp', - 'orientation.cpp', 'pipeline_handler.cpp', - 'pixel_format.cpp', 'process.cpp', 'pub_key.cpp', - 'request.cpp', 'source_paths.cpp', - 'stream.cpp', 'sysfs.cpp', - 'transform.cpp', 'v4l2_device.cpp', 'v4l2_pixelformat.cpp', 'v4l2_subdevice.cpp', @@ -51,6 +54,11 @@ libcamera_sources = files([ 'yaml_parser.cpp', ]) +libcamera_sources = [ + libcamera_public_sources, + libcamera_internal_sources +] + libcamera_sources += libcamera_public_headers libcamera_sources += libcamera_generated_ipa_headers libcamera_sources += libcamera_tracepoint_header