From patchwork Fri Jan 12 12:14:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Scally X-Patchwork-Id: 19386 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 4038DC328C for ; Fri, 12 Jan 2024 12:14:58 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 5A0D6628D7; Fri, 12 Jan 2024 13:14:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1705061696; bh=Kl5SR6bpTCb+eX+5cqH0QpRdxQF6SUGKffPhTreEK5o=; 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=JxHVxS5p1sIXNvI3Ncc6VfQwWamOl3nlB8Ul2Z6IzD0x1vJduzeIFMoqGpCaA4/li UD37TqPvAM5SstwA6XtnjxXVvA8J4gO87w9GpM6NPtZbUl/I/Sx8bwepXnt9TjCN7Z 4ZG/clpiGZ/VtdW0OB3x8vTldD2r6ErNzpwTHzIqEhHsVoY0hz/drZnHZmHVGqOIs6 dCFu3cT9bysgbUmk6+Hqg3z0swORP8XQaWftqWtz3ZfNdUWbdnNkgCGcIwTnhq9fGf 4Pk72yvjtgTMCnijlJFEdvecL2EuVdLF/NXYhBSwv4jdKe7wBgjDeP/yg9p5r56X5Y vZ+YQw/5p95sw== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 10CF7627ED for ; Fri, 12 Jan 2024 13:14:54 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="uoRitCzI"; 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 EFA351225; Fri, 12 Jan 2024 13:13:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1705061628; bh=Kl5SR6bpTCb+eX+5cqH0QpRdxQF6SUGKffPhTreEK5o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uoRitCzIFBi1M2L5RX8oJ20PIeMgLy00LgIKyzMCV2sYk3bza8ogYpvC6Zrps22fG K20uU8LiwgGhEPOdeD7cI2WUgiWA6jZ6uf0ykw2tmMObzf2oFkfXumUCPHHGqqnwX1 1L13a2d0iohNUzNcffVZa3vLvvtiunWJYjYHQwkY= To: libcamera-devel@lists.libcamera.org Date: Fri, 12 Jan 2024 12:14:31 +0000 Message-Id: <20240112121434.529047-2-dan.scally@ideasonboard.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240112121434.529047-1-dan.scally@ideasonboard.com> References: <20240112121434.529047-1-dan.scally@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 1/4] 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: Laurent Pinchart --- Changes in v3: - Didn't swap span.h to private array - dropped _publically from array name Changes in v2: - New patch include/libcamera/internal/meson.build | 21 +++++++++++---- src/libcamera/base/meson.build | 24 +++++++++++------ src/libcamera/meson.build | 36 ++++++++++++++++---------- 3 files changed, 54 insertions(+), 27 deletions(-) diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build index 7f1f3440..4e36bf36 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_documented = files([ + 'camera.h', + 'camera_manager.h', + 'framebuffer.h', + 'request.h', +]) + +libcamera_internal_headers_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_documented, + libcamera_internal_headers_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