From patchwork Tue Jul 4 23:44:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 18789 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 432FBC3240 for ; Tue, 4 Jul 2023 23:44:26 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D1416628C4; Wed, 5 Jul 2023 01:44:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1688514265; bh=fgMMtJItJk7wKivuQz11EeEMMSVwlcKigD1pq2Ya4TM=; 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=uw2BZazmW64r5Fo2xUBSp5Ktfk8plQ3RivisE3KP9JJC2oLBltHo8wek+ELOWlp7p Z88vCZoKKhSGdaHBq0LZ8ZjautgJhYMe7xfuT9nzw2CzI60/o1/2E29QSvCabn5D2X BXzQ7toTRenr52Yc8Y0fgAIWw0H2n/zxoUFVQoFw/GYDcJk+mKEP8SgeoCCjqXkEfM 7DMtZfqZd13JJ4cr+pe/OIjLm0ugxP99GPAYXWXgHQ0YPG8l3TLi02o4GwJpBuh3e/ VH2cfT8dR3xV9IBFEaAO2tCc+G2GihAtfA0JVgP1NSouXVq+hrSn0my97Wh0ZqLirk 4tV9qd+dzs0lA== 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 CDFCD61E38 for ; Wed, 5 Jul 2023 01:44:23 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="MadnNZZ8"; dkim-atps=neutral Received: from pendragon.ideasonboard.com (85-160-42-71.reb.o2.cz [85.160.42.71]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 4DDB58CC for ; Wed, 5 Jul 2023 01:43:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1688514219; bh=fgMMtJItJk7wKivuQz11EeEMMSVwlcKigD1pq2Ya4TM=; h=From:To:Subject:Date:In-Reply-To:References:From; b=MadnNZZ8v2PegTpdjOyoQbA3+Ysom9DAf31P5yd0D74QWbtudkNWaIgHrjzTM2zPq 6XceNNs5KFwmIZPW1kpMWa+XHlZ0t0xI/0LwbOIp2XRcq3tpcsqhiolpzw2iGQje/J BzWr4GSuzs4i+tetBJRfAGITSy3SuE+YPpdo444w= To: libcamera-devel@lists.libcamera.org Date: Wed, 5 Jul 2023 02:44:21 +0300 Message-Id: <20230704234422.11863-2-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20230704234422.11863-1-laurent.pinchart@ideasonboard.com> References: <20230704234422.11863-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 1/2] Documentation: Add predefined macros from config.h to Doxyfile 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: Laurent Pinchart via libcamera-devel From: Laurent Pinchart Reply-To: Laurent Pinchart Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" libcamera creates a config.h file with predefined macros, and instructs the compiler to include it implicitly with the -include argument. Doxygen has no support for implicit inclusion of headers, but has a PREDEFINED configuration option for its preprocessor that lists predefined macros. Populate it with the values from the config_h configuration data object that is used for generate the config.h file, to ensure that documentation matches the configuration options libcamera has been built with. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- Changes since v1: - Correct indentation and line wrap in the generate Doxyfile --- Documentation/Doxyfile.in | 3 ++- Documentation/meson.build | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in index 1447abdb7d8c..697a14d1dfe2 100644 --- a/Documentation/Doxyfile.in +++ b/Documentation/Doxyfile.in @@ -80,6 +80,7 @@ INCLUDE_FILE_PATTERNS = *.h PREDEFINED = __DOXYGEN__ \ __cplusplus \ - __attribute__(x)= + __attribute__(x)= \ + @PREDEFINED@ HAVE_DOT = YES diff --git a/Documentation/meson.build b/Documentation/meson.build index 186461561f8d..d675f368cf79 100644 --- a/Documentation/meson.build +++ b/Documentation/meson.build @@ -16,6 +16,13 @@ if doxygen.found() and dot.found() cdata.set('TOP_BUILDDIR', meson.project_build_root()) cdata.set('OUTPUT_DIR', meson.current_build_dir()) + doxygen_predefined = [] + foreach key : config_h.keys() + doxygen_predefined += '@0@=@1@'.format(key, config_h.get(key)) + endforeach + + cdata.set('PREDEFINED', ' \\\n\t\t\t '.join(doxygen_predefined)) + doxyfile = configure_file(input : 'Doxyfile.in', output : 'Doxyfile', configuration : cdata)