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 7F325456A3; Fri, 26 Jul 2024 14:43:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7A37740DFD; Fri, 26 Jul 2024 14:43:02 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by mails.dpdk.org (Postfix) with ESMTP id 23FB040263 for ; Fri, 26 Jul 2024 14:42:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1721997779; x=1753533779; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Fkbgpitu2QUdbfgoZRZtj4x9qwT7whQFDEb0xfv3VCg=; b=gRkxUFPoYttP+LsTPzg8sFQxfbdPFQLWQrqFFSq1Ykez+g/2jU+i+oO3 TUa0B5ATaDj4QtVnmiXycb7v8Zm1w995u8xv/npUFtdqhAyzMxy+t7ZSj zQCU+0M2UEQElnlg3ANu555BJ1gxxUZDzpyyFUO8SIsxz5lMEjBRq9Bfo j+Qa9e0hAUc+uYpE2kVsiUvpQZqKchD0N9pMFRFQVFTqYE1Ckr9LC3nFw 6CesXP37lANGtQLZLIaefk7N/S1OK7IjStafNXzS5sLgrv+iBNDb1Uy8H dvAEtr8r1BrezAx58k544XXE3MJ0ySRnJQgZCOmuwdzUniZj44vc5UeOw w==; X-CSE-ConnectionGUID: 24CXEgKQRjKHWpMu2RLrig== X-CSE-MsgGUID: rfQYCtVzTiW77dlSiBw7vA== X-IronPort-AV: E=McAfee;i="6700,10204,11144"; a="42316441" X-IronPort-AV: E=Sophos;i="6.09,238,1716274800"; d="scan'208";a="42316441" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jul 2024 05:42:58 -0700 X-CSE-ConnectionGUID: T9WUnjcRTZOCShGvwF9w5g== X-CSE-MsgGUID: BKR/Ia04QKurraCBUIj9Sg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,238,1716274800"; d="scan'208";a="58365790" Received: from silpixa00401119.ir.intel.com ([10.55.129.167]) by orviesa004.jf.intel.com with ESMTP; 26 Jul 2024 05:42:58 -0700 From: Anatoly Burakov To: dev@dpdk.org Cc: john.mcnamara@intel.com Subject: [RFC PATCH v1 0/1] Add Visual Studio Code configuration script Date: Fri, 26 Jul 2024 13:42:55 +0100 Message-ID: X-Mailer: git-send-email 2.43.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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! Philosophy behind this script is as follows: - The assumption is made that a developer will not be using wildly different configurations from build to build - usually, they build the same things, work with the same set of apps/drivers for a while, then switch to something else, at which point a new configuration is needed - Some configurations I consider to be "common" are included: debug build, debug optimized build, release build with docs, and ASan build (feel free to make suggestions here!) - By default, the script will suggest enabling test, testpmd, and helloworld example - No drivers are being enabled by default - use needs to explicitly enable them (another option could be to leave things as default and build everything, but I rather prefer minimalistic builds as they're faster to compile, and it would be semantically weird to not have any drivers selected yet all of them being built) - All parameters that can be adjusted by TUI are also available as command line arguments, so while user interaction is the default (using whiptail), it's actually not required and can be bypassed. - I usually work as a local user not as root, so by default the script will attempt to use "gdbsudo" (a "sudo gdb $@" script in /usr/local/bin) for launch tasks, and stop if it is not available. Currently, it is only possible to define custom per-build configurations, while any "global" meson settings would have to involve editing settings.json file. This can be changed easily if required, but I've never needed this functionality. Please feel free to make any suggestions! Anatoly Burakov (1): devtools: add vscode configuration generator devtools/gen-vscode-config.py | 640 ++++++++++++++++++++++++++++++++++ 1 file changed, 640 insertions(+) create mode 100755 devtools/gen-vscode-config.py -- 2.43.5