From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EC27C45B7C; Fri, 13 Dec 2024 11:50:22 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BE37D402BB; Fri, 13 Dec 2024 11:50:22 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 9961A40263 for ; Fri, 13 Dec 2024 11:50:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1734087021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aQiZv1Bc1n7BXJMtEYWWZ6aMlT5yXgFiTScktcmgfoo=; b=OrmMgntCz5MEMUP1hLtxY68apMe2Efeeq/ekMztud2j47kswMGLinxj4I3izIeufKTFCqh gt6ODwhtsgrEE3cyWOF00foJdvyTTJcNwsL7Y9fBcEDkHphHtS0u499M1Bq520DOj+O5J4 7GVL4neploSSdw26t9SiXDIb+abFsbw= Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-244-vN7EnKLzMPONHNyIzOKiKQ-1; Fri, 13 Dec 2024 05:50:17 -0500 X-MC-Unique: vN7EnKLzMPONHNyIzOKiKQ-1 X-Mimecast-MFC-AGG-ID: vN7EnKLzMPONHNyIzOKiKQ Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 56A4D19560B3; Fri, 13 Dec 2024 10:50:16 +0000 (UTC) Received: from dmarchan.redhat.com (unknown [10.45.225.129]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id BF904300FA98; Fri, 13 Dec 2024 10:50:14 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: thomas@monjalon.net, bruce.richardson@intel.com Subject: [PATCH v2 0/6] Add a stricter headers check Date: Fri, 13 Dec 2024 11:50:04 +0100 Message-ID: <20241213105010.1527683-1-david.marchand@redhat.com> In-Reply-To: <20241127112617.1331125-1-david.marchand@redhat.com> References: <20241127112617.1331125-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: pokIvE-GaENgDVQGgs4DoFcEbvgQHD6duvHAVZHAz44_1734087016 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org As explained in patch 6, the current headers check can not catch issues when a public header includes an internal header. Fixing this from meson does not seem an easy task. This series approach is to reimplement the check in a Makefile invoked out of DPDK (like what is done for external compilation of examples). This has the advantage of being simple, and avoiding any (non intentional) implicit include path coming from the meson framework. As there was no easy way to distinguish "indirect" headers in an installed DPDK, I chose to move those headers in a new sub directory (patch 5). Patch 1-4 fixes have not been marked as backport material as those bugs seems minor/easy to fix externally (by either including missing headers, or enabling enable_driver_sdk option). For now, I left the check_includes= option untouched, as there may be users of this check and this check still catches issues without requiring to install DPDK. -- David Marchand David Marchand (6): baseband/acc: fix exported header drivers: drop export of driver headers eventdev: do not include driver header in DMA adapter drivers: fix exported headers build: install indirect headers to a dedicated directory buildtools: externally check exported headers .ci/linux-build.sh | 7 +- buildtools/chkincs/Makefile | 77 +++++++++++++++++++ buildtools/pkg-config/meson.build | 8 +- devtools/test-meson-builds.sh | 6 +- drivers/baseband/acc/meson.build | 2 +- drivers/bus/vmbus/rte_vmbus_reg.h | 6 ++ drivers/crypto/cnxk/rte_pmd_cnxk_crypto.h | 4 + drivers/net/dpaa/rte_pmd_dpaa.h | 2 + drivers/net/iavf/rte_pmd_iavf.h | 6 ++ drivers/net/mlx5/rte_pmd_mlx5.h | 3 + drivers/raw/cnxk_bphy/rte_pmd_bphy.h | 16 ++++ drivers/raw/cnxk_gpio/rte_pmd_cnxk_gpio.h | 3 + drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h | 2 + drivers/raw/ntb/rte_pmd_ntb.h | 2 + lib/bbdev/meson.build | 5 +- lib/eal/x86/include/meson.build | 3 +- lib/ethdev/meson.build | 6 +- lib/eventdev/rte_event_dma_adapter.h | 2 +- lib/meson.build | 2 +- lib/mldev/meson.build | 5 +- lib/rawdev/meson.build | 3 +- lib/regexdev/meson.build | 3 +- lib/security/meson.build | 3 +- 23 files changed, 153 insertions(+), 23 deletions(-) create mode 100644 buildtools/chkincs/Makefile -- 2.47.0