From patchwork Mon May 24 08:40:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 12369 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 077E5C3200 for ; Mon, 24 May 2021 08:40:41 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 5764268919; Mon, 24 May 2021 10:40:40 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="L+I1JmRr"; dkim-atps=neutral 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 89D4A602B1 for ; Mon, 24 May 2021 10:40:39 +0200 (CEST) Received: from pyrite.rasen.tech (unknown [IPv6:2400:4051:61:600:2c71:1b79:d06d:5032]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 8F2951315; Mon, 24 May 2021 10:40:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1621845639; bh=2x7PUCY/CX7tVD4ig+zr1+geC7z2yQKSC1FqIMLB5zI=; h=From:To:Cc:Subject:Date:From; b=L+I1JmRrUa9+TF3w3jnLkHp6AOicHJrsbDuafA8M3MC7GmoNzLEQXAB9L0mDe7Ol+ kUqoqsxVc9wbz5EgAcIBuIBkgIsSYDevd4FJfbxTdKzQTWhXvM4nA2kh4nBhRCyqE/ KjNKJvqczxy9Z3FZdXmr66uyNpIhisO7muk8cRHI= From: Paul Elder To: libcamera-devel@lists.libcamera.org Date: Mon, 24 May 2021 17:40:23 +0900 Message-Id: <20210524084029.1179881-1-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [libcamera-devel] [RFC PATCH 0/6] Generate docs from mojom files 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: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" This patch series depends on v3 of "External IPU3 IPA Support". This patch series enables generating documentation cpp files from mojom files directly, so that we no longer need to manually put the comments in cpp files directly. The script (patch 1/6) simply extracts all comments that look like: /** anything */ and outputs that, along with a header and namespace libcamera {} to a cpp files. Patch 2/6 blocks struct constructors from being parsed by doxygen. The rest of the patches plumb the documentation extractor and generation through meson and core.mojom. Paul Elder (6): utils: ipc: Add script to extract doxygen docs from mojom files utils: ipc: Prevent struct constructors from being parsed by doxygen meson: ipa: Use files() to locate the mojom files ipa: core: Move documentation from cpp file back into the mojom file meson: ipa: Pass core.mojom to the docs generator meson: ipa: Build documentation cpp files from mojom files Documentation/guides/ipa.rst | 6 + include/libcamera/ipa/core.mojom | 200 +++++++++++++-- include/libcamera/ipa/meson.build | 13 +- src/libcamera/ipa/core_ipa_interface.cpp | 237 ------------------ src/libcamera/ipa/meson.build | 18 +- utils/ipc/extract-docs.py | 77 ++++++ .../definition_functions.tmpl | 3 + utils/ipc/meson.build | 2 + 8 files changed, 295 insertions(+), 261 deletions(-) delete mode 100644 src/libcamera/ipa/core_ipa_interface.cpp create mode 100755 utils/ipc/extract-docs.py Reviewed-by: Laurent Pinchart Reviewed-by: Laurent Pinchart