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 ABCDD456F4; Tue, 30 Jul 2024 17:23:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 36D9E402F1; Tue, 30 Jul 2024 17:23:26 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) by mails.dpdk.org (Postfix) with ESMTP id DC58C402EB for ; Tue, 30 Jul 2024 17:14:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1722352482; x=1753888482; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=LaJKwz5out6HvUotWQiLvmC+k5M04oR18wIexRkEliI=; b=BXTGUifTz3ULwH5je3q4fBSALsOIY3OQ7LaOyJaV2GqJl44dukKxyBMN 6yvd8YQcFFBtuQSd/4xee70NqgEH9a8AFxHpi9QvYQmiVpzTnFuGP4A7H 9epp1Xd79raV20X5gI1ay1sFJFL9H/dHD8JA+HRW3lbR0I03xLEzOXm5P wbEfkJyZSt04avoCTJVZMIsadYCQ18fMTxCDuaT9AjHpfbQ0k/pHsyfoD hik3TM/UuoYRSWLMLTSMXvXMG6I8DwEE4e84EqKzB8cZjwohsjf8jOkvT hvAGFsajrYta3zefcuNGJJWGw5nv0CGLEyrvIu5LolCTXxe7Jx+T1fLeP g==; X-CSE-ConnectionGUID: RE6KKjlwSr6woRfHtf/IHg== X-CSE-MsgGUID: B4Kdl9nTToKl05y4xFeupg== X-IronPort-AV: E=McAfee;i="6700,10204,11149"; a="20062110" X-IronPort-AV: E=Sophos;i="6.09,248,1716274800"; d="scan'208";a="20062110" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jul 2024 08:14:40 -0700 X-CSE-ConnectionGUID: MAi0YJbFTc2FZMzFtuZqOw== X-CSE-MsgGUID: d0uyRwqXTZaAXThByLkyUA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,248,1716274800"; d="scan'208";a="59168129" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 30 Jul 2024 08:14:41 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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:14:40 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) 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:14:40 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.40) by edgegateway.intel.com (134.134.137.100) 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:14:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=btNe+RhLoZh+lfqA25R0G6FnBJFjCa690FC71OTYqY9gw6M5780q7edq6VBKt3Y1w8vU4MK7w9XRCa40284/gxcDzGMAc/oqDxS/+dqSG2Us3T7tATGb6xOVfxuZS85j8RQtce02PQbRrmpPQj9mmKWMxCXB+9vB3nk7nwH2lHiWMFeCzdmoDQ/6i/ZWtwfU1UO0smHY8aDla886I0aDRiqASDxdwCIXP//fhg8DhNvDtQOLEZpDMF9EUFBReFEAClosvJe98MBdtO89NP1su+LM/9CflGTJwV1OBX1SHPwseBMOwdsO7jRUmNrVT+U8KsqJlgrdAgaYtL3wf/GHMw== 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=rTZHphAL9d7oCB8wu6svanotm9E7HOfdal5I+UzUnmM=; b=mjuTcZKrqRVkcEocW54QJz9vuItTxkrqT7q8xETOicHbFiSYH1iB2PJ6i0oKARPuDfa3riCrCLU6IfPawfuuVxpyXkglZU2xmRHwVqVs99F4wiopgkSRwpj+14ogSVJ2PMluKqFGDYwl60FkU0tzou5xdjstI+2cN6s8VdaLJScltiJuTfY9UDEbXO16KmW7x/1OlR8rSVcXsre8k0mdM/BV8PxiWLVyDemjHb+297IK/GcqAIHj5RNvpUXCBF7OqAbxNXY/8so+aR1/VDzMZ9YKU72mtMEQwZeSUdDMUj+qk2EAsgQMHp9n5E/QFLNRN1K1MkToZVLXRNHwd+RDpQ== 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 DM4PR11MB6502.namprd11.prod.outlook.com (2603:10b6:8:89::7) by MN2PR11MB4726.namprd11.prod.outlook.com (2603:10b6:208:269::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.28; Tue, 30 Jul 2024 15:14:36 +0000 Received: from DM4PR11MB6502.namprd11.prod.outlook.com ([fe80::21e4:2d98:c498:2d7a]) by DM4PR11MB6502.namprd11.prod.outlook.com ([fe80::21e4:2d98:c498:2d7a%7]) with mapi id 15.20.7828.016; Tue, 30 Jul 2024 15:14:36 +0000 Message-ID: <47f8ac03-239a-4560-b30d-f651b99592eb@intel.com> Date: Tue, 30 Jul 2024 17:14:29 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v2 0/1] Add Visual Studio Code configuration script To: Bruce Richardson CC: , References: Content-Language: en-US From: "Burakov, Anatoly" In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DUZPR01CA0042.eurprd01.prod.exchangelabs.com (2603:10a6:10:468::9) To DM4PR11MB6502.namprd11.prod.outlook.com (2603:10b6:8:89::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB6502:EE_|MN2PR11MB4726:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ddc3fad-655a-41dd-1b99-08dcb0aa5314 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TWM4T3JsMUNPZGdIUU45K2xPNmJVbUJITmR1TG9POHhsd1JtMDg0U0NSZm9v?= =?utf-8?B?aGNCcXp5a1BhQnBoTVA0d1ZPTWxvbVJoZHlNTklrNFRvY2pTRWc4a1RsSy9Z?= =?utf-8?B?TlNPQUd6bE5sNWRvdzgxR2psQkpzUVY4QS9qVEdyUVpXRm9IVnlYYmUwbzdu?= =?utf-8?B?bGVNOVBxQ3A4Sm9hbW1uVEdHVjErMG1JUWJBTStQamxMSTE3KzBVdjdpY3o1?= =?utf-8?B?UDFXQkFjb3lzRE9Kd3hlaXYwYlJWU1RwQkpHREpDbjlKbkJ0VWI0OVFvSXI3?= =?utf-8?B?Kyswc2xoeit4Qnpzc3VSdHpkRnJZanRBOWsxNFNVejBkREJsWU5WUHpVODVQ?= =?utf-8?B?dHZWdEs0RTNrUFdPcTZ6dzdrZTN4VkJ1dUk5bHNIODBzekdER0N3d3ZseC8r?= =?utf-8?B?YlkxSFdmdWtRbHlvWmV5aTNwUGFySEQwZDZOWW1YeDI5d2NIa0xCQ3Z5OXB5?= =?utf-8?B?OGtQbmp5ajhyc0tWbk5GN2tGTHZJYm0xQk9Qb1dlMXVYVGVDdFV3UHYzMExS?= =?utf-8?B?RkUwNVNWOUdzeFVwSUZLYXg1UjBQRHJOTFFIRlNxbmVDTEdBU0s3RUJ2QW1Y?= =?utf-8?B?RVZrcEdLUXNtMXpJQldDallRYnBWU3JxOXFiVitadFY0Slp5L0c4U3F0akpX?= =?utf-8?B?ZHNLZW83V2IweXBEbjRIYk1pWUljTG5YcitYNkFmSjVZSHpGbGVGZ0xCMXNx?= =?utf-8?B?Qmt1aWJlVS8zUDVPZjNuQy84bnZCMDhod0tybEt1MHlOMytTcllQdHNtUGpq?= =?utf-8?B?WC9PSnQ5RFo5bEZqWDJOcUVBVFNKdEdSMjhpaUgvdlBJY0dXYklxRmF6cmV4?= =?utf-8?B?akFDSlZsZnlxUGROS0ZWYXg4YkNGc3AzQW15UldTYTBuMjA4UnU3RFRTNTg2?= =?utf-8?B?KzRZZVQvSlowVzhJSU9VcXMrNWNFR2hjd1ZlWC9aaElja2NlbEZ5aWlUNmVs?= =?utf-8?B?M0w0SDVvUGYzVy92Ni94SzlDK0NtVy9MT3dmVFdhajZIZEJIK1U4ekIzY09D?= =?utf-8?B?eVdaYTA5U0Z2bnNqck51VjVVWVBsZGlnek5haG1XcUVNWVhTdE9Md0dVSW0r?= =?utf-8?B?Qjl4clFwdVVVMXd2OUJPbk9sWGlIbE1oMyt6NkZyeTVoUC9xejlOSzB4K3Y5?= =?utf-8?B?NnVsQitnaUJ3UUlLNm5GUzQwd045M1orem42alhOSXl4KzNsbHVWcGJLeVNF?= =?utf-8?B?UkpNSnVVR1RpTVozSk51UGJ1bWRFSUNPcldnWXg1YmZOT3Vxc0ljZHFWU3Zs?= =?utf-8?B?Uy90NTJOZlQwaWNZdndSdmpWRi9FMytWczZNU0J0VVZ3YWxMUlBMK2daL2dw?= =?utf-8?B?UTU0RmY2ejlVZ2EzOGRDZTFKUDZaWWI1czNOeUc5VlZxRkxpclpCWm45UnVm?= =?utf-8?B?RjF3cy9EZWtOVTFjUnpKT3VsWFptNDFxakpJRlV2VDJnU1kvREkxelVqYkNE?= =?utf-8?B?ZWVwSVMvYkdRK3ZCRm5VV2F4TXcySE40QjVZSFVveHl0YTd0YmFqVFZWeCtI?= =?utf-8?B?MmVKWHBxcC9USnE4NlFCcFZRQlBzZ2RlTkZ1TC9xV2NhTmFyS3c1dFBJTGpZ?= =?utf-8?B?MlplZkZ6NGdpU3NodnRuSGdTcU1BRkEyZlZQUkRKb1I5cDhHemlVQ2xubmJT?= =?utf-8?B?ZWlJWldvcnBVSU5Na1EwN2FXMk53REMrSWRqNEJxS1pJbVhFMHdiMUpkTjVz?= =?utf-8?B?RnQwcmp2N2ZwWkUwZmJ1cWVBekhMZ1h5Y2FEeTJWcXRaWTRoM0hVNkpBTG5x?= =?utf-8?Q?lfXsgl/qb2he52BjGo=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB6502.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Ny9pc3BGRmQ5YkZWRHlOODJmdmNDRzVQQ0pUY2J4a1pyWXpSUHJHd0tDQTdV?= =?utf-8?B?emwwcTNoRzBOSDFGVnFtcG1wbXVpcUhoSG9vbGw0Z0I4S0xiRmR1cGc3NC9H?= =?utf-8?B?TjBXem9obVlTM000U3ROYmNVVnZHaGloZmdxOWg1VVhORHVObWRhRzF5WW1j?= =?utf-8?B?N2MwNVlZL1ZmeVE5YXFveEVWck5odUVCOUo1NjlYODM2eWtWaDFxRGFMalg1?= =?utf-8?B?aWJOL252dXE4YWVFZVF6SWRBVXF3aXU3TjRjVXpmUWZwRTc2dUFXblRvSDNK?= =?utf-8?B?Qyt6QTMyTzkzWHQrQkxiSXJEcnVrWHdrTUgzQUN3ZDBuUWVOOFF5MVY5d2lt?= =?utf-8?B?bUZJWCtLUlBZRzc1dEt4dGorYXJrZ2hSUEdvb3c1L04vblVheWRFZDNkYkFF?= =?utf-8?B?d1NrTU5QaHY4MUkzWmdVOGFvOXloWm90Y1pKa0llenpEcUs3L1psS1JnZno1?= =?utf-8?B?eG5hYlFoRGU0aUxJQ3RjamVOak1MN09kRllJU0Rsc1ptemtYcS83dTFMb1lV?= =?utf-8?B?VkdLRFdQSDZFNmlXWE5zRExvcWFZb1NiblR2Zm9WSGNDeEZxcVN4WExuWUto?= =?utf-8?B?R0ZKU0FhTjdzQ1dJYXB2T3VXd1Y4SUtvMVlhalZyUExBYmw2WGppSkdhQXB1?= =?utf-8?B?V3QxUTN4MmNOQXNMMWlVK3VmSkk5RmM4dXczRDNjRzA0emNCQUFscjI3S0Z6?= =?utf-8?B?WXlIWk9HN2E0TmhGMmJuZHBzbDdjMDBES1pYL1hDWUZ6UmtFRVJQM1E5TUFR?= =?utf-8?B?bXBxd0dDc2ZFTjAwWXh4YysvdVVpTmpGTy9HUk1HQWZtdkkwU24ybmYydlFY?= =?utf-8?B?TWdjbWwrMGFpdmtRYWpPNm9WdnlQaW5aMXZ1dHMrYVdoM3ZSNVJmcEw5eW93?= =?utf-8?B?SHBqR0NtdkY0U1dBdXE0YTMrZ05PNkdPbERjemRnUHNPQVNESVZSWWhZZHhX?= =?utf-8?B?OHZmU09hL1phWVA1Y3ZZTitQK01MaC9lb3M0S2RHU25iNDJsTjd0UFhSNDky?= =?utf-8?B?MWpkWUE0aGF4Q0txOXdKK29pT0tqVTVkZzVJL2pXQ0tsQmd5bm1UblBraURM?= =?utf-8?B?RDlHVG1vVW16QWxYQUxscEw0Z3N6TW9VRTYwcDJLbDd1T2htQTlzOWl4Tk8z?= =?utf-8?B?L0I3T1FMQ0xZZlRjTzZjRDByWTdpUWpDTmo2cHIzNE1iaTYya3EvQkZTejR1?= =?utf-8?B?aS83a0dHVDhBWmhwSjlPMFlrcC9iNjZNbHpvamE0RzY1Y2VaeldCdUhhbWpt?= =?utf-8?B?RW95bUxzM25XWW1Kejc5bVJJakVob0RrZjhwSGNIeVk2eXNRYjRaV0tFQ3N1?= =?utf-8?B?cHpUSWlhd0JyNVkrdXhIOGdybkRlM2M0K3BuRHpzWnJwTDgrUjRUczRTMFFM?= =?utf-8?B?R0pZWjVTUGdQZlc3UWhHajhVd2hKS1dTN0ZzRUJRUXZ5UmJ5WlFTUVJLbHh6?= =?utf-8?B?R0xwdDNrTWI4WlJqODdqcGVJQitJdWtaMEd0b3lSUVNxY2JPcVBWeDhtWjhw?= =?utf-8?B?NTZ3QVdjeWttVHNHYmtmSTNSaitycjRqTzUxaUp5dG5GWDY4djlQY3RENmFv?= =?utf-8?B?bDFyMTIxa2doQTVqdU92RWpEV21Ga0ZjMFF1aXJGYWtxVEprQjZYUklHM1dD?= =?utf-8?B?VFBIQWpQTVU4WGd2MkRSdXFEWnFGdXB1Rm16MnMxUjBkUDE3YTArV3h3bHpN?= =?utf-8?B?RmZLZWZaNVkwV3hZd25BL2ZBQ0RwZEFLRlFsd0VJT1poZ25NTmlmMm9hVTNY?= =?utf-8?B?dTUvcHdDRFp4bnh5eFUyeWNndFdWQTZFcjhTT3M5VlI2L3c0azJRbUhlSVo5?= =?utf-8?B?SXZHRGNmWUJkTG9idDY5OWJmY2tnS2NFbUFsaTF5aCs1b1Y0WUpRT3dRTDJV?= =?utf-8?B?MFI5UUFoK1l4WG43a2lWUEdQRmQ0dU9IODlTUnlkRWNYOU1pa1lyVTB5Mmpv?= =?utf-8?B?Ty8rK2ppbUYwMWVwWUVjL2RoNDBFR0RoSWNVb1VOTG80UDhiNGlCdEtpY3ND?= =?utf-8?B?UXdLS0dqTU8vMVNlS0N6b1p3c2xJdWMyS01Ga0ZkTy9kN3E4Ym1HcE5QWUNp?= =?utf-8?B?ODJwRmhySlZweWYzL3ZMdmhjQkpzR2ZZbk1rQTRFZkkzTEp3anlETmMxSlZa?= =?utf-8?B?QnhYdXpKVmFORTdkZG9tWUF5QmpmNzZrT1UxVkRKNGNuaU9odXpwZDV1amRE?= =?utf-8?B?Mnc9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 4ddc3fad-655a-41dd-1b99-08dcb0aa5314 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6502.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2024 15:14:36.6534 (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: ziG1p51JtWKG1sGFRA3tzWUZZhmi+j6ODJdC7Eyas71REp59Am3bfvL1c1gG2Q8nxvT4PpZWFSov6QfSssgfyVZCamYCD8oqLh3BtDr7kPI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4726 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 7/30/2024 5:01 PM, Bruce Richardson wrote: > 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.. Thanks, this looks very interesting! It's a shame it can't be done without creating a build directory at all (e.g. by using meson dummy runs or something), but like you said, better than nothing! > > Regards, > /Bruce > > [1] https://patches.dpdk.org/project/dpdk/patch/20240730145508.551075-1-bruce.richardson@intel.com/ -- Thanks, Anatoly