From patchwork Wed Jul 31 13:33:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Burakov, Anatoly" X-Patchwork-Id: 1181 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C201E45701; Wed, 31 Jul 2024 15:33:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 06F55427C5; Wed, 31 Jul 2024 15:33:55 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by mails.dpdk.org (Postfix) with ESMTP id 4194042E5E for ; Wed, 31 Jul 2024 15:33:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1722432833; x=1753968833; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UxGesmKK8FJ/Z25vdzEY2aTWUFo05m4sqWXMYrQiSrc=; b=bNdNYa0UJT1fkAwye1rW50+eUc5nVB5vX6BKbvT+Fn/tuiEbVFXkQFRs 3Stj3GJIehy/oQyG3tVjqLAu8C69/OzKiPS5SwdwNjOG5El7sprm+mSFq Vi1w22GniU0bgRBIsulObzi17hiNcB4VN4XdNZhRSxZ4+rKT+LPOOWP5X SaKYN4z/r4pbOSM4sFNHD5ug8po37bPFbGcor+JM8QOvtDTssnLnq5FVN 8fjqowIt8qZ19vHn0a/4Gg/JnU0Wn9ym+UZYNbvw5oBA+z4nJILQsy/eS HXQeNp8KVDijUv8WlNYY1G5wTiY/8ViOjei0/QOQZ82zm/d+6fNq6OBLs g==; X-CSE-ConnectionGUID: tDGP4VnJSZ6OTsVGgsEoYg== X-CSE-MsgGUID: FV00Y2SdSHCwxGD8KjhlNg== X-IronPort-AV: E=McAfee;i="6700,10204,11150"; a="37826344" X-IronPort-AV: E=Sophos;i="6.09,251,1716274800"; d="scan'208";a="37826344" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Jul 2024 06:33:52 -0700 X-CSE-ConnectionGUID: F/d6ZeVxThijWCOG+yJD3g== X-CSE-MsgGUID: 2Cm8S4tIStajWoQX0mqKiQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,251,1716274800"; d="scan'208";a="85325477" Received: from silpixa00401119.ir.intel.com ([10.55.129.167]) by orviesa002.jf.intel.com with ESMTP; 31 Jul 2024 06:33:51 -0700 From: Anatoly Burakov To: dev@dpdk.org Cc: bruce.richardson@intel.com, john.mcnamara@intel.com Subject: [RFC PATCH v3 0/1] Add Visual Studio Code configuration script Date: Wed, 31 Jul 2024 14:33:48 +0100 Message-ID: X-Mailer: git-send-email 2.43.5 In-Reply-To: References: MIME-Version: 1.0 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 Lots of developers (myself included) uses Visual Studio Code as their primary IDE for DPDK development. I have been successfully using various incarnations of this script internally to quickly set up my development trees whenever I need a new configuration, so this script is being shared in hopes that it will be useful both to new developers starting with DPDK, and to seasoned DPDK developers who are already using Visual Studio Code. It makes starting working on DPDK in Visual Studio Code so much easier! ** NOTE: Currently, only x86 configuration is generated as I have no way to test the code analysis configuration on any other platforms. ** NOTE 2: this is not for *Visual Studio* the Windows IDE, this is for *Visual Studio Code* the cross-platform code editor. Specifically, main target audience for this script is people who either run DPDK directly on their Linux machine, or who use Remote SSH functionality to connect to a remote Linux machine and set up VSCode build there. No other OS's are currently supported by the script. (if you're unaware of what is Remote SSH, I highly suggest checking it out [1]) Philosophy behind this script is as follows: - Any build directory created will automatically add itself to VSCode configuration (ignore mechanism for e.g. test-meson-build.sh is WIP) - Launch configuration is created using `which gdb`, so by default non-root users will have to do additional system configuration for things to work - All of the interactive stuff has now been taken out and is planned to be included in a separate set of scripts, so this script now concerns itself only with adding build/launch targets to user's configuration and not much else Please feel free to make any suggestions! [1] https://code.visualstudio.com/docs/remote/ssh Anatoly Burakov (1): buildtools: add vscode configuration generator app/meson.build | 12 +- buildtools/gen-vscode-conf.py | 442 ++++++++++++++++++++++++++++++++++ buildtools/meson.build | 5 + examples/meson.build | 13 +- meson.build | 11 + 5 files changed, 481 insertions(+), 2 deletions(-) create mode 100755 buildtools/gen-vscode-conf.py