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 54B3B456F4; Tue, 30 Jul 2024 17:02:10 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EF24F402F1; Tue, 30 Jul 2024 17:02:09 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by mails.dpdk.org (Postfix) with ESMTP id E704640261 for ; Tue, 30 Jul 2024 17:01:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1722351707; x=1753887707; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=u+JEzSEidonWgrIHVIX4lHNYrJw0FQUyENPNkcB6e58=; b=Ne2n+4OBc7UNThw+Y1e14/tQ2pV8Pz/P2jR3D8PdIxcKj3av3g4f5wxG 52wLH2LkUSXIO+eIKuD+LrRKwi4RiFbCitTkyNlD7TOecUMbIFcLAWLHV 0dGRUPlvqHrfTrdwmT3lP/4fbKjq/Pzhxz5KotbYdpZdqyvpv6MD0sQcF 71oxdSCR1Qe3WQTAhWpFFRklCnH9w+wetZyztl8q5j6EEFNmmt1x8Enfh cTuE/PmdxzpDu3icERKvOmwP9z8ca9MLFcITbQgBrZxDdKoYhPTlgqj1K +8wyX0pHQTJquJ2ov//iC4eG+ywxgnr0JE8wEuesI/3MZvbPxpxJLtBUk A==; X-CSE-ConnectionGUID: kgGrxPo8THOudqO6xEmpfQ== X-CSE-MsgGUID: rKhjaLWrQH6nqbQW56bsoA== X-IronPort-AV: E=McAfee;i="6700,10204,11149"; a="20300095" X-IronPort-AV: E=Sophos;i="6.09,248,1716274800"; d="scan'208";a="20300095" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jul 2024 08:01:40 -0700 X-CSE-ConnectionGUID: QhUeBE7UShyS6EGn9BxhXg== X-CSE-MsgGUID: U+mJYjDgSDaZPjNrn5U2wQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,248,1716274800"; d="scan'208";a="58502504" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa003.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 30 Jul 2024 08:01:39 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 30 Jul 2024 08:01:38 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 30 Jul 2024 08:01:38 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.43) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 30 Jul 2024 08:01:38 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jaVWZv2qyPhzNtQLIulXaCelig1tC0J0ifxgWq4Z0/O4np9ne0vhJTdkNsDkJZhgRXrLLIRmd3PBiEpy0gb5CMVRcht+bJ6Lrfo8lZRGbSSg6DxFCOCaSQ08cFgkR/GFM7GimU0JuQsqb4eVZ6Jvh5wx0lUkrFjMjV8utwrf/6TUPCeS9LNg6ORiAyRQgxc5IXyDnCjvS6BYIMAXQQbJDuvofvXvNpkEfRn4kQSLiU5ua8MjLtpB0Gx3H8ICnUZaC//f7zDGGXLMkJynfJ9q7Ro01l6ocqp35lQdwi+Sd4TrCKNde+rmRYaZpTnad7lIPNvGtL/zJihSQcLshRw8VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yrOGMa+M3WqucleeZszr3PFavi5kqR6R6Zex7zkRCjU=; b=NRg50M9szCCx4jdmypO4Ej5HGgrihCjimQBPE42JIi7QRU9qwNXEqjHnC2T8GxBcgZes+t4gKLB1Gt+JpjGgAY9tEvAtG+pnCrkjABYbEmPGsOtD11ZOFMFreMm/iG5CMxFJjawA3eK2sy/mHRwoK/KxCELfEXNsnGbbfYBL1W6xOv0It5e8ZQlVgGyUO1IkZoCcn5nqisx2rp01VMqACFA1VpJMujw4rcHrCkIvpwrM4mcNzJfxmnjGAH+KG31EfEtO73TYjJTR4Vt0yAUvdttGEwZi0In5GHORKxziZOvSYWCPi0xeY34UhTx1u6GiFocP8/Nq6SMbPBv4iXexkg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by SN7PR11MB7995.namprd11.prod.outlook.com (2603:10b6:806:2e2::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.28; Tue, 30 Jul 2024 15:01:35 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b%2]) with mapi id 15.20.7807.026; Tue, 30 Jul 2024 15:01:35 +0000 Date: Tue, 30 Jul 2024 16:01:30 +0100 From: Bruce Richardson To: Anatoly Burakov CC: , Subject: Re: [RFC PATCH v2 0/1] Add Visual Studio Code configuration script Message-ID: References: Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: DU6P191CA0024.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::14) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|SN7PR11MB7995:EE_ X-MS-Office365-Filtering-Correlation-Id: b40efafa-7587-4767-a9b6-08dcb0a8817d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?+fBfRVcLBAULg0AWluYy8xXYQC3ExwEeQGQPB0VfsAJFzMQ3ogZz6s8OBqgF?= =?us-ascii?Q?V5nG9rB0k3muUDZA27puSE4CfQ9jfMZkNpkK2b7B+HBk4kz4FBuDJuXXK5g4?= =?us-ascii?Q?mDVabte5xdinCf4efDmk5NmobtN7wVzmMAva6RsBz1dzASnfZuqLZIXNU98x?= =?us-ascii?Q?3FFK76cWgF6gQ/1NZbtozl2EEHwoIIF+57jIRSeziaDsYzMWo4bkpr2KaZuK?= =?us-ascii?Q?8eWA6ESEjBykK/zRTzKnG/pPGIEtL4hxhmF85aFtkVByWPfO90L7lvU6EIqv?= =?us-ascii?Q?HlD484UnHuoXxoHqqeWy7R1qVD5dco+Da0eJSEQ/KWz7j91aSYR8Pmlb3rLy?= =?us-ascii?Q?ELZgZarWR8GhEcU197g0AbYMXrkW8aBvFEei+bC9T3LpAB16OKtKqkmlc36C?= =?us-ascii?Q?W9qWAhMTgJnXRLTSSsuNlx8VtS4P6lpqr2ZJOaJakeiaWCVv4YUGAoyR/lWt?= =?us-ascii?Q?MMVmHTRiCg5ScKig9+vEl0KGHgCc4TYWRfJO6ZcQ1iWBW758RU79oXnfx6pF?= =?us-ascii?Q?XcRGJzt9AHZ5gC0QO5vyEOlCXOlYY4axHLop8S82OkQ+3juXVRtTRNW9rfPo?= =?us-ascii?Q?6TJi5APIhh/VUkZscmO5xdACR1sHylwDxLEldM8MyJwrriDh4vpRCP1jApMV?= =?us-ascii?Q?0K7LgIE0UTi7q5b+6mgk6i5auGjoCcJcz5KFnba3lmoxSJ9kD7pyZOHL8gPA?= =?us-ascii?Q?JBbTAtDqrJDCK61Y2J0NQjZGepxViuZjQotCK5lIhODjJSeoo5TCAI3rXITG?= =?us-ascii?Q?zF2ePqF3wXpoBtVZpyE6JNYICjKwGxZwW68AY2jLxYuKDD46nIVU51e5adlj?= =?us-ascii?Q?ccP2zZCieyHlH/mpSZfSZbQTKuciuDIGMNYFaQmOtR7FYf7EpbwV46TvYv05?= =?us-ascii?Q?ElvWoqDEx5+ntI95hlqjmTMcjtAT9I6CAkACkhKkpcIO7U4N/Gnmg7SZgrB6?= =?us-ascii?Q?81glDkwxlHukO1h7D9UbxNUrWp4affg6n53bT+aYUXDuYwZKyiVGZPq7mi9C?= =?us-ascii?Q?RsOibRwVxKawB2gSwHdsElL2hvlsLD5bfJbZg0lolRgl8D4QXSchoJfwjiTc?= =?us-ascii?Q?c5yCjKHABvao8i+8df/aZlgWyk8qkgqEhe3hosyXe7Q7lked1tccBTxbdUBK?= =?us-ascii?Q?Sx9tgr0vXUx/RZJonvvCDeP62tL6rflKiG7uFX/ilFAQnydkBhR1dkYqDgWz?= =?us-ascii?Q?mXOo2hC8nrwhP/sJdkX2X4dJz9ixFKuxwdYXi9MszEh59n14ODUhKHni0Tgb?= =?us-ascii?Q?ak4djmq6wB4lENqXXFB9KdjSpE4m/ElixJYGfCn6KmYqpQ16TbrNscbh/wzz?= =?us-ascii?Q?pzs=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?afDtrvblvlK0Q3VRqp2dF7rX6pGYeCbVA78MXEBs/XKEP1LCJwRaI46Hy3mG?= =?us-ascii?Q?X4fYZ+Lrmi29kDTke6EOU5RX4pF5+kp4WRRnZjflQ2N0uUuOSAJwfjVu2zLM?= =?us-ascii?Q?pBxW7QpCICcmIDKmXznm3dsD8QrfnxR8+7wq4PHb/iJ2ZmhCoaY7cEeOXV2c?= =?us-ascii?Q?ZruzXxvPMl+xdq1RLgoLr3NGcUYbUXCB7BROm0MZhx27I5wdr77CDBNGopEQ?= =?us-ascii?Q?1ZxF7UebVzu4m3k3aiF5+etEVIHjjVdFyugKHtTSqGsTfPWjDULi0q7wF7Dl?= =?us-ascii?Q?gVoK4ebixMkNarTxnoX4/x+nvD+AK8uebJHfllSZAF/W1AroKg47slmnc+z6?= =?us-ascii?Q?bBnQ7iWwZwjeCdrBrvCin9lo5362JTz6uJBvPZoyuVD2EmijCYS9mCA3UYy5?= =?us-ascii?Q?0qKkxitkdo3C6WAhg8ND5QCGT1/Mx5rGzOZ+80aKGxczD8AcJiT5R/c55pQm?= =?us-ascii?Q?NsjBw0pvAvUMPjAKgx7NcmmtrrJJ2cdhrPa5TEo2lkgJmc3uvFJyXZJ7WJ7J?= =?us-ascii?Q?DCPZQGeH+pe7x3kOCQZlD4GzPxjMYCSBCEz2Spatt8ExMPVXiHJSEmgLf8+i?= =?us-ascii?Q?laVKju3HIFxGNJoLyEXwK/k80Ley+w3sM3s0EEuN0KVb6Gk2RoQzmQm2HgLT?= =?us-ascii?Q?6ukNYl1TCwMinrCRF1Y7c6blj/yg0tvWyaD5ULFcw/EW4VizhBXlAwL96+3R?= =?us-ascii?Q?RSvs46hyv3KdoRqqk4iCsRQz9+sflZ52feFQq8AwckWIp/GxSGPEvTn5nQvL?= =?us-ascii?Q?++s9Ip0MboLP9PA+r50OiVtBhQiHj0GuyVBeoCc+fF2mpfIUhAY6nezi1dtE?= =?us-ascii?Q?n9r26W1FLDLPWwHXeyE/XSTM7KxmRiKhXDKNGNGdk/w6eY7OFLrOQ+QgKl2p?= =?us-ascii?Q?kE4uPovAoFG3yeMzNkrqR7KOrdHRZwkgD2jEunWD/3XhNzpk+HmlR4r9CafA?= =?us-ascii?Q?VUdRy3zzhVTkNXVhgTtLc0hGrrizPZhncBkDa0rLRFNMGwNhwkaWzR5UPs1u?= =?us-ascii?Q?w3Ma6Mgz6khYN5r2RlYCMD56bVYv7oS0EZG0VD9+PDoNESkHnoPO/oCi5LKS?= =?us-ascii?Q?QhCsWCHTVL1j/pICyRrrBiLqZIO4skq5ILHQgXCEXxrSYGsUra/XFPRCHPD9?= =?us-ascii?Q?bNMv0ph2WrmcxuScJ7l8EdzD5bbx3miZs4jrkbAEJ7I3X9VztVUc03VK343q?= =?us-ascii?Q?ysYLQofedumLPuXWmma73luX8mfIXan6ooRAhK/LpupUAsZGsYZ5vW58/f+q?= =?us-ascii?Q?zUrmS/wZvIcIkYbZx/1jJ3UlVrBIRnmamOOuoCkHByh4yBi2UjdHbdIqcuJK?= =?us-ascii?Q?viFDmfW9u9oKDY66G8LrvtoHBu9kR0E7ouWqKRhtUAxMKB3luX1FSeP9+MLS?= =?us-ascii?Q?twvroc4Lhvw095kgrg2j1re2v/6nDWCo3QCu1iwZApxqqn26JUcQ4BdMSPIu?= =?us-ascii?Q?7NTwh9/HDVtAt7IVjHUFKuEV/JD9RFqhLjxZI8Y4FtgzIt/wnUsqJjlEJTTf?= =?us-ascii?Q?T9JpAY2jpgDuVWHlQSYL0RCsi3j9A1Al2qAOb9K1BJWo6EjkbPs+IyKVA1uf?= =?us-ascii?Q?PdROPMGNM1eKSabKOfk2SCF4DURG6POxlXQvCqC4R1emsEMJFpjqgktxBp/j?= =?us-ascii?Q?gg=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: b40efafa-7587-4767-a9b6-08dcb0a8817d X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2024 15:01:35.4346 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JGShLBvZp4pPlFq1qhGS6SlkiRYhd4z9RbsKGHw/0rXwKAlBg+dPeBAABUYL+Xl+0GWzWNrDrHhJjcjJ/lztESZBhXwgJZC4VPZG3k3cmnY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7995 X-OriginatorOrg: intel.com 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 On Mon, Jul 29, 2024 at 02:05:51PM +0100, Anatoly Burakov wrote: > 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: > > - 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 not add any meson flags unless user requested it, > however it will create launch configurations for all apps because not > specifying any flags leads to all apps being enabled > > - 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 > The management of dependencies of components to be built is obviously a tricky area here, when specifying e.g. enable_drivers flags. It may be possible to improve the situation in meson itself, but that probably requires massive rework of the lib/meson.build, drivers/meson.build and app/meson.build files to process the subdirs and save the results for later use (effectively process them twice within the restrictions of meson only allowing subdir once). In the meantime, as a better-than-nothing improvement, I've pushed a draft patch to have meson produce a dependencies file as part of its processing[1]. That may be of use to you in doing new versions of the TUI - i.e. in the background you could run a dummy meson config to /tmp and then process the resulting deps file from it, to allow you to recursively enable dependencies of the user-selected components.. Regards, /Bruce [1] https://patches.dpdk.org/project/dpdk/patch/20240730145508.551075-1-bruce.richardson@intel.com/