From patchwork Sun Aug 3 01:04:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anakin Childerhose X-Patchwork-Id: 67995 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C71BAC87FD3 for ; Sun, 3 Aug 2025 01:05:03 +0000 (UTC) Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) by mx.groups.io with SMTP id smtpd.web10.9364.1754183094556013228 for ; Sat, 02 Aug 2025 18:04:54 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@childerhose-ca.20230601.gappssmtp.com header.s=20230601 header.b=f5YLb/e3; spf=none, err=permanent DNS error (domain: childerhose.ca, ip: 209.85.160.181, mailfrom: anakin@childerhose.ca) Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-4ab814c4f2dso48182021cf.1 for ; Sat, 02 Aug 2025 18:04:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=childerhose-ca.20230601.gappssmtp.com; s=20230601; t=1754183093; x=1754787893; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UYCJ5X340z+j4Ru/sRPaeyXSM2gMASpW/0oUFQ/nQYs=; b=f5YLb/e3tRb5pfrhFeEZ2C6qpSDU57zjNMal7KNBoztjgqbUaTdykll8otLdO5tpnk 8udzNNQRyE9PAgw7FMTbW4dSWdKBR6Htwy0dQI15EtfEd7lNHVBowjd4H7vGnqVEo9Wi leOeooPzcZLjaNwpUxg3gR1wiZP1OgNB5epM+gWXl+GIxDGZfzXcm8A0uaEu3PquvJ5u /Ibu9fSWf0+Ay4uwNK5I/gnJRnmp2NlTA+3Lmqx203hfDiorwWbjWUIQGnCxgAwN2efg 8jGEeYpAwbQQB9EayDi7dqX3b+BpkN08+eLU3/B3clBrSbwbMYsoJAvYou9nI6a3QRLO ++og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754183093; x=1754787893; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UYCJ5X340z+j4Ru/sRPaeyXSM2gMASpW/0oUFQ/nQYs=; b=bYXOs/spXwcCJl+rsrPOayqHPTUm1cJnY54SdzHpvY52Yd1kx2ELBabyRr68SUUoiJ 183nb7Vn778YLK9iUjfRhmu9RRKtHnMBZ+FLlDIyDwUZ8ubDfB03cmwvXeWoa2lPO8bX yYPGxxsk6/aW3A00pDmKnCzowdWRKpGF+xMRV3sNp1sAFYpAog7q+rzY0QSWr6s5nCJi dbK/adbrtuP3xrcAF96H2HkTYXyw0A/IB7jZ2pilIduhn+7yMb1QeFiT04ZP8RLNCj4W XqN5K8hX4T78Wxv+IjwjvM2lh6+aSa4oEePlXShmqrhNqKUZivUFJyFanAaSlOilfS7k NpgQ== X-Gm-Message-State: AOJu0YwGOlDsnOVqKuZxglRbZrKbLs7BirlidwPO3WLmQLDdwU5jCc+1 q0QIUU9sFnpqJYef78sMccsZ9qV+ClHIkvQDc/hiL5WZd2cZpP7Sl0K8mBAZ+C9hQ9Sd5YmcQD4 329/0H4vDqw== X-Gm-Gg: ASbGncse0bviZsNHeOMsqRtop56HZ1B5fX4MnvbSque5nJg18b5uht522oReU8Rc79K +wECVcRj1ILV8kD/07zvPqkm6Hjrub6/QCysAvuQjUnzajJZ1HeWrdkLzj7/Npb3YMivg+omrgp H5VzCV4+lK0kCD57B2nm6rXGIf4Xvh33QoLRSHHoeVdSNwsEudt13lMKWw8GmL9VG4WteC/zvJ/ zAFe9ZM5laHDdrs85d5Iy+8RtX1JI9lHlN3aLRjmR36rE20EZd7LhwY2F1zRgELs1U/u3acPo6W 99kFIT1ggzh0ZECGp7rPiS5HeJ8SETuHwRrnlQ2XZKoXAUn0UTAuxvsXrGAWkhFte0Hvt9uRUJc MtmHs83IwvCWHv6mr X-Google-Smtp-Source: AGHT+IHzALZIS81dWRe9EFwjo9uk3CyE2SXh77MpyMcEkyqVO+c/+EXb4ToGAmGigFUc0GDjsbluXA== X-Received: by 2002:a05:622a:5597:b0:4aa:ea4a:eddf with SMTP id d75a77b69052e-4af10994483mr70665081cf.27.1754183093169; Sat, 02 Aug 2025 18:04:53 -0700 (PDT) Received: from vader ([198.16.184.245]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7e67f594206sm389169685a.4.2025.08.02.18.04.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:04:52 -0700 (PDT) From: Anakin Childerhose To: openembedded-core@lists.openembedded.org Cc: Anakin Childerhose Subject: [PATCH 1/3] clangd: add compile_commands.bbclass Date: Sat, 2 Aug 2025 21:04:21 -0400 Message-ID: <20250803010422.21838-3-anakin@childerhose.ca> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250803010422.21838-2-anakin@childerhose.ca> References: <20250803010422.21838-2-anakin@childerhose.ca> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 03 Aug 2025 01:05:03 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/221397 Add a class to link the ${B}/compile_commands.json file to ${S}/compile_commands.json to automatically configure the clangd language server for build systems that generate a compile_commands.json file. Signed-off-by: Anakin Childerhose --- meta/classes-recipe/compile_commands.bbclass | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 meta/classes-recipe/compile_commands.bbclass diff --git a/meta/classes-recipe/compile_commands.bbclass b/meta/classes-recipe/compile_commands.bbclass new file mode 100644 index 0000000000..da8795647c --- /dev/null +++ b/meta/classes-recipe/compile_commands.bbclass @@ -0,0 +1,18 @@ +# +# Copyright Anakin Childerhose +# +# SPDX-License-Identifier: MIT +# + +do_generate_compile_commands[doc] = "Add compile_commands.json to S for clangd language server" +do_generate_compile_commands() { + if ! [ -f "${B}/compile_commands.json" ]; then + bbwarn "no compile_commands.json found" + return + fi + + ln -sf ${B}/compile_commands.json ${S}/compile_commands.json || { + bbwarn "failed to link compile_commands.json to \${S}" + } +} +addtask generate_compile_commands after do_compile From patchwork Sun Aug 3 01:04:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anakin Childerhose X-Patchwork-Id: 67996 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE66DC87FDB for ; Sun, 3 Aug 2025 01:05:03 +0000 (UTC) Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) by mx.groups.io with SMTP id smtpd.web11.9215.1754183096514005780 for ; Sat, 02 Aug 2025 18:04:56 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@childerhose-ca.20230601.gappssmtp.com header.s=20230601 header.b=izktFU27; spf=none, err=permanent DNS error (domain: childerhose.ca, ip: 209.85.160.177, mailfrom: anakin@childerhose.ca) Received: by mail-qt1-f177.google.com with SMTP id d75a77b69052e-4abac5b1f28so32459091cf.0 for ; Sat, 02 Aug 2025 18:04:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=childerhose-ca.20230601.gappssmtp.com; s=20230601; t=1754183095; x=1754787895; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TFzI1GhtoGzGxWfOCRVGa0hQbVpLeuVYULB/CYC5MNo=; b=izktFU27Gmulvkvqa6EBHpoIt+VqmTh0wBHksthcMmQr/I2gVCwBtuNk/CvkpyML4T by+IUIljWPUDkwsoxx94OXLKar4B7+zw6ifMLhtsl5VlbfO6Rws/ZXgl29VAqpp/Oxuu VOroeK/Rrkl5nMMndFVkzd0W10Ccph53q0cJZ/Sh93TdeTxgrcFejfOKGIGbgnd36tIT m4vNQfanw/TYx7ttrYG76O7SnVIXCkTuETEfPTUFK824Ki5Et+LOZ4TA3ZMnjqL9lP+A nlzsc9mLyrj6Oybcr6HSZyVVmjB76GXdqD6F9+degjiW46AoJoeqZDc5HASBgcwVikOW J7/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754183095; x=1754787895; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TFzI1GhtoGzGxWfOCRVGa0hQbVpLeuVYULB/CYC5MNo=; b=oUv0hPeeqexbUuNsMNHBKhxwaO9rVPHF7MYsnHP/lN1oeZExJ16jWNC26Zagwd+3qr KZ8KJW5E2whVKbsKYJToSDFWTmxw2A8JP4qp4tf8tUPPu6bMoHHouToJeHrydsqzQkHx TETb/CfHX2bHPGPL+aHI6+qAjYQieBNV5a294ueXUpyklLDsOu8txDS9Kg9oXq1119jF QjnO55VxlMrcajzO0yG7TYnm5zLDpaaIH5uROaNR9ds9TG/nJ8BTxiTQijt1vbTRh+Y7 j0N4FfpBqHe94f+9+AV796y+Xpbz5MfNGYprxAd+J7v0FSBaZq2vmcepDmQ61P/PgGhj teyQ== X-Gm-Message-State: AOJu0Yx2zclkHcgd8YFcgLcJDJ1UCEQrumDVKXTjrUlP/g3Azel9NdM1 k1g35pS13ClmSWUcP2REv3sRfP+SOXU1FTvuHwgHtygA9TnP8iIS8jxxcCOHYTsIBoB4LlpLWy2 HbsQ+m5phnw== X-Gm-Gg: ASbGncvNKq99yAyxN8Jgr/laa2hZE2VVLHpNIOjz/Apkt5UgJ3Civ1kEgglMPXyp/ez KeOeEcBaDUAEQQWQysGWNUUc5TVH+JIvN1ahDRQxtN5t5B8dli4cigy7ewqcLYdqojsf70pGbmv jYx7RQvtM4C7yyWFS6i/W+megLQJmUcgjhq0fRJfgz6xObwAHH3B476R3NLopAD0UqzP/ZbRKvI FciM0l08GVzA7qcSuaqLQoNMpZl81eXDrTu4eu3vmoTGMrakMNWMHnLbDAyTZBa+d7F5zDhxzqa JQeglkLL54SfAFZIcM2D8so37dnU60GjHMdvyVV8HeK1xyIpw8BOrPbmKhG3OHqdqUxJn1N6XXA DYsZh89+htg6XVjSq X-Google-Smtp-Source: AGHT+IHwlXe3ieo7QiAYFGPROEiWdM5Dndmgm7zm217VBK+DEjMwBBwDXXaSptbiiamXb/b3DlsVMg== X-Received: by 2002:a05:622a:1809:b0:4ab:7f5f:620b with SMTP id d75a77b69052e-4af10ab80c0mr78161981cf.34.1754183095213; Sat, 02 Aug 2025 18:04:55 -0700 (PDT) Received: from vader ([198.16.184.245]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7e67f594206sm389169685a.4.2025.08.02.18.04.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:04:54 -0700 (PDT) From: Anakin Childerhose To: openembedded-core@lists.openembedded.org Cc: Anakin Childerhose Subject: [PATCH 2/3] cmake.bbclass: inherit compile_commands.bbclass Date: Sat, 2 Aug 2025 21:04:22 -0400 Message-ID: <20250803010422.21838-4-anakin@childerhose.ca> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250803010422.21838-2-anakin@childerhose.ca> References: <20250803010422.21838-2-anakin@childerhose.ca> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 03 Aug 2025 01:05:03 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/221398 cmake.bbclass generates a compile_commands.json file by default in ${B}. To automatically configure the clangd language server, link the compile_commands.json file to ${S} via compile_commands.bbclass. Signed-off-by: Anakin Childerhose --- meta/classes-recipe/cmake.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes-recipe/cmake.bbclass b/meta/classes-recipe/cmake.bbclass index 1488d744d4..2da4a9a6c5 100644 --- a/meta/classes-recipe/cmake.bbclass +++ b/meta/classes-recipe/cmake.bbclass @@ -4,6 +4,8 @@ # SPDX-License-Identifier: MIT # +inherit compile_commands + # Path to the CMake file to process. OECMAKE_SOURCEPATH ??= "${S}" From patchwork Sun Aug 3 01:04:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anakin Childerhose X-Patchwork-Id: 67994 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C6114C87FD2 for ; Sun, 3 Aug 2025 01:05:03 +0000 (UTC) Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) by mx.groups.io with SMTP id smtpd.web11.9216.1754183099048175686 for ; Sat, 02 Aug 2025 18:04:59 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@childerhose-ca.20230601.gappssmtp.com header.s=20230601 header.b=K0IW6VHJ; spf=none, err=permanent DNS error (domain: childerhose.ca, ip: 209.85.222.175, mailfrom: anakin@childerhose.ca) Received: by mail-qk1-f175.google.com with SMTP id af79cd13be357-7dd8773f9d9so258614785a.2 for ; Sat, 02 Aug 2025 18:04:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=childerhose-ca.20230601.gappssmtp.com; s=20230601; t=1754183098; x=1754787898; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yiBVCm3kHuI0cgqd/pUxZ4FQ9wbP5vfgW9pyekiWoog=; b=K0IW6VHJZl/ZJh8JZgGkcY8Jn0fV5DgyynZHMfdF6Fh9tF5wAFkX+xm5tNYAu65B3Y joMZk6qBPBIBdbCc0NCvq65JuBGMoDO4N9SdFhLOIpPF7nyL0NfRM0CHxOGrC4dbpOM5 5tCTkQBN+mWTrxPyZHGWS1+iDCyTXLqN+GQA6qXD0Jjz5iPqMlyf7OmXloeKXg4vQsVH GDOZx910TH/qwB5LAvkUTybkUv4z8izkc6dBqTKN9mGY5xmNfyXJe7JeGMiPktCgE3B/ Lr97VOBnNoN09ohsWEk2gR4VhzV6aFgfiU2tKQ/i3ZykdDKWqBUKeRsMTeKvjRePW8y9 rKuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754183098; x=1754787898; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yiBVCm3kHuI0cgqd/pUxZ4FQ9wbP5vfgW9pyekiWoog=; b=Yn8HwLokgS1+859NKS+J9Trt3OR2WLryak00+vFH/RiXlKckQEHLy6ZPc5iJ9tBHsk vFT3x8RGJQEHh74Y6zt+bFLupHTH4VSSOM+2dWEMenxSzAMIEgfnhByyonJXzVEMi+o+ v/JsatgKfO38A06udxw2j7R68UDUv+XednHDq9LYD3ilHCeWSpeniOAWz9/OcjooQsf2 AgKjOTIlF338Y4gDhlhRSm1/1HjQ6IPKU+NCLYQvtUEJlxwUyDyTUDR9aRpWVFnqNr53 aI+HT3utfuI+99wcIaICaAbUHnRGnaabDFc+h3oDHLBh9yhJFF/dpXGKo5FQafUg3xwG oOrw== X-Gm-Message-State: AOJu0Yzq7QHFFXU7CNU5dZw5eUyGk8At9h3LK6KdADqKox12S92DNT0P 4+0yTxgv3H4mm0ZfeTjh6nYBEqNGylLspHCeMPUa8sXMR+whZH6CrO5El2onM4qe/prOllRlaNJ 5MCK2wUxSeQ== X-Gm-Gg: ASbGncvO74+Ewduxgb7j8vIud7Ftha/th+ScwzBU/DEr+woO78RVVU9TaPW9Fegj78m l/cFgcd2ohtNC4Gpa8iqdhfwmHj5JoLwS4qxNLI60hhiUOiMhmLKj00mLiqueoaul8KwuQPheLK Nf+uFBbhFDISL0ixGNgsc3YfNhyL7T792m+hYetnAHA+TRXlIxfyBRk3X1SLYKjX4V141MAw7IB TpxHi1ifvWwCT4rDwPBGgltdxeMT/PJD4OkXqz/dLBbX4iD1DtqLw5Kq+3aiLs757ZR018KAnZS HnX2uuoyG/Gg4uvoU1Qws7yS/GAIqRIeiHKkZzN/lkmMVI070w4Ssm8wqDDV5b6H3tv+v2gvoyb bD5bKcBR9OeNNKZFMiPknAmNJQHc= X-Google-Smtp-Source: AGHT+IF2avemKDuKVwCMRX2zast7ikghdYG/dSk2bYS2O2qIEkwHecpZj1c/3RNNX69sIF1h3iiEtQ== X-Received: by 2002:a05:620a:4494:b0:7e7:bf9a:8556 with SMTP id af79cd13be357-7e7bf9a8801mr117379785a.40.1754183097684; Sat, 02 Aug 2025 18:04:57 -0700 (PDT) Received: from vader ([198.16.184.245]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7e67f594206sm389169685a.4.2025.08.02.18.04.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:04:56 -0700 (PDT) From: Anakin Childerhose To: openembedded-core@lists.openembedded.org Cc: Anakin Childerhose Subject: [PATCH 3/3] meson.bbclass: inherit compile_commands.bbclass Date: Sat, 2 Aug 2025 21:04:23 -0400 Message-ID: <20250803010422.21838-5-anakin@childerhose.ca> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250803010422.21838-2-anakin@childerhose.ca> References: <20250803010422.21838-2-anakin@childerhose.ca> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 03 Aug 2025 01:05:03 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/221399 meson.bbclass generates a compile_commands.json file by default in ${B}. To automatically configure the clangd language server, link the compile_commands.json file to ${S} via compile_commands.bbclass. Signed-off-by: Anakin Childerhose --- meta/classes-recipe/meson.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/meson.bbclass b/meta/classes-recipe/meson.bbclass index c8b3e1ec29..4f5d7b9e5e 100644 --- a/meta/classes-recipe/meson.bbclass +++ b/meta/classes-recipe/meson.bbclass @@ -4,7 +4,7 @@ # SPDX-License-Identifier: MIT # -inherit python3native meson-routines qemu +inherit python3native meson-routines qemu compile_commands DEPENDS:append = " meson-native ninja-native"