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 B585843B6C; Thu, 7 Mar 2024 12:42:15 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6F95D4067E; Thu, 7 Mar 2024 12:42:15 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by mails.dpdk.org (Postfix) with ESMTP id 1BE2540272 for ; Thu, 7 Mar 2024 12:42:12 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709811733; x=1741347733; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=WmZL1eLiY7Jq9L/mKT6AdbRS8OW11r/yj+KA6ZzmfHE=; b=XJzANzXAJSC1txauhB3jrJQRvF4yy8FYnG9FZAlzqQRQEjtZuOShbI0l mS/AWK9oHzOPXlyXtU3uEHR4EHMReMS42jS+SH65gKuSlMzQXqIkFjlDq J8hQDuTRL8y6w+db8MTVNOjBouUjV2b4lgpRVYnh3eLk9DEEOa83Z1AbS G1ofCVvwB4og5UOQY1CxwFXUeP0jVEcRdaiKyP52/XL9CGhO3/RjusOFC ESv8Iu2bfGDbrm/VM9x+J+e6/nKIZF32hi9cK1LA1kLxxAT7fB7eVihgE 5cfZ7eyk4tg8zXPqlHeJdpHt2lIzUxLMbM3OYjWz2orEZ8NG0Zxmtszap w==; X-IronPort-AV: E=McAfee;i="6600,9927,11005"; a="8233857" X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="8233857" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2024 03:42:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="10018855" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmviesa010.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 07 Mar 2024 03:42:12 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 7 Mar 2024 03:42:11 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 7 Mar 2024 03:42:11 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 7 Mar 2024 03:42:11 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.169) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 7 Mar 2024 03:42:10 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EwxM1WUYTsiwSPxNmgWGjcI40yPuJtnH5vNhyBw3C9n8XHBUi4s04437MrPDJdiC3kqsIbzsHOQGKYmnwEQw7CW3lOb4DEwl7hFTkwDCUsyfH/VrdxdfTdq/Q/dFMrTXQFoqzFmbW1ZH5NO4JqsS+FO8dqJ3Cd1abKAnGFCjdlDg7dskWm9UAK+/tItWQ42c1rIkCbv9MbhWUcMJppfQEm8fg3g9oDC/v4DZefdSh7/VHkvEnxu7ksEKbUKp/fxQrNSTQvm+d0kVbzI7aJhKmysVG4TjSrSj0kpilWJbOxKAb9d26Fl1rVrFkvzQYTWlsqd/VKmHVcu5u7A5wHc87g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=6V+Ah1icJjTojovfqOArJc/0Qe09KvP6wHxmXV2GNjQ=; b=RFRsmrlMcOGLI6rvw4b9gLas9q9t/sNfL7TQucGl5kVqJUn6bSVbHyoeNpyZDQSDNVNJkBQ+iNw8Y8Bcylf7rM901b2qHIpqszigFkEVEO/3RQj3lW0KHa62HznAGTEbYdVeXEAlW2x+C1KEwoT5hYxotu9swKhIry02ELKjGakvoAWaUlxpC9naDYEI9luVoU2/Xnnwh6WNz/aJ6+NgJtolsZI+Ok82oU+YM1/UQXOGNo1eWKqHDZhdYrxpIKXPPxY5ud+yKFTm1nf3tz7nkZoCImO0iuIWHBhGVENWfTQzq9185zOQU17iA88EL80TEbs1Z46AC9jD+Bs9HPJz8Q== 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 PH7PR11MB6554.namprd11.prod.outlook.com (2603:10b6:510:1a8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.24; Thu, 7 Mar 2024 11:42:08 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::d10:3009:a8d3:1d2e]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::d10:3009:a8d3:1d2e%7]) with mapi id 15.20.7362.019; Thu, 7 Mar 2024 11:42:08 +0000 Date: Thu, 7 Mar 2024 11:42:04 +0000 From: Bruce Richardson To: David Marchand CC: Paul Szczepanek , , , Dhruv Tripathi Subject: Re: [PATCH v1 1/1] lib: allow libraries with no sources Message-ID: References: <20240306221709.166722-1-paul.szczepanek@arm.com> <20240306221709.166722-2-paul.szczepanek@arm.com> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: DU2PR04CA0202.eurprd04.prod.outlook.com (2603:10a6:10:28d::27) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|PH7PR11MB6554:EE_ X-MS-Office365-Filtering-Correlation-Id: 252a6863-680c-4517-7ab1-08dc3e9b9eaa X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: v5hVIRtOUTjb5qKvhl1Iolh+fUbZUJnUnhB59B7SA/LlRt6jhnnex6XdozSy/3Zugg3c5FLPI+hHDnaPMACuf2nOcLvQqfdLqPd6NkrwR3Wn8Da/eHKBLpWdtkfRDmPYQN8O2nnqnMCHuE5aNFgfWBahEQjbaWibmaJKPdXGqpHMfXs1feL8JaiZ4c9DN8+2LZmqmCPbMU4boyU+oc9rGNIqWt8Uhk2LhmCVZ+hwL3g1k1y9qypGHwusaZrs9GV9gkXFdvCG/i8gsGWYYr0q1rWZRU0wwNuvBc2TZNNzBpE+SwxOKXIqDJgchjLkEORuqsTQuGP4Q9Rv8KfQpcSjCdZUbtBlnZx01ZtkZ3epfNjnexSHj4M8QF4GT4PJ65yuOX+u2s8b+Fqk4k9k6Xis4gP9CwIfBMaE2fUKSClW3ETnFySCHaT7+RD+kuuslHeoAIrBFWWm+S+8Hqo6eUy4vH+8Mhvqyo66Kxs0+0FUSsKFa7eRBJ0NdE7/INLbn1uvRhj5n0ezjokOQp7Ulwo574uM2nmuZ+uSnxZnR4/r+hEPHYB1MihEyJER1D+ZryRkNTI/N09DDznA4l87FAd58xUlmkcLWvvUofZ4jxrm5hkwhCTeiEbYbn0gx6hViIUmsL5dG0hFJjX5xxdqSueA4zTyOSLZW3yUfmpCmIJX59I= 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:(13230031)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VXIvV3JTekxQSGNXTmZFc1plL0ttNXI1eGF4ZndnWURXMFI2cmhQMk9hYUdE?= =?utf-8?B?dDlDalZQS0R2TjZTeCtnSEdwR1U4bEExVndSMmkrVElnb0Jha3pIKzRCOGcv?= =?utf-8?B?Z1FFYXVYTFRTbmxQU1JQNG13dnhxeURrZnBTMHdpNXVZUC9iWlk1Y0JDelll?= =?utf-8?B?ZHJjL2xkVzJXUUs1Vm9LcWhDT2pqNko4OEkySmtJRkg0SW9ReUFjNmhoQTNo?= =?utf-8?B?K2JCYjRaQ1lMT09JbUNlMnpCZm9rK1ZFck0ydzBodElJRFIxNDBNZ0RWQ3dr?= =?utf-8?B?bG9vZTBHSmI0NjhTUnZVL3RrQnhkOUVRbnF5cEhkbUgrWk5ndmdlWkludXZK?= =?utf-8?B?bm1FYzNUb25kUHlQL1orOEtTdFVvZnJQY3BidDNDZUk2dVVuN1ZyUjZURGRs?= =?utf-8?B?czNWN3pycnYzYi9CQXZNZy85L0NCZUZXQlhpMTVZUi9TNlJjYVBqMFRJL0xQ?= =?utf-8?B?am5pMFZ2Mm55c1NBdTRidGV6Qm9QNmxZbGk5bU51UFJSbU1yVHU0b2JTU01z?= =?utf-8?B?bVE5dTlJV0IxZXhxaEJ6TzNiZlNLUm5ObTd5Y3dHMmMwUkdQMGc3eXRPN2Rx?= =?utf-8?B?NjA2bXI1eTV1emJlZzhmTm00a2haMnhnWCtlSUNPOS9qSGovYndTaGVoQ1lL?= =?utf-8?B?M3k1djhQUVhZK0E0dzJwYTZpYUZkU1J1bkN1VVJyOUt6QmxPQUtDelc4T1Rw?= =?utf-8?B?VG9UOTk0SlVTZzB4UDJjQWRZeGk0VG9zcjY0cjdnb2Q5Qi95Z1YrcmZwclpS?= =?utf-8?B?cEt0bVdqMHhIVVBscFFPb01NeUVocnFnUS9yVExaci9HTG5nODdGUGFvcmNq?= =?utf-8?B?S1c2TC82NTNSeVBLMXQyaXFna09KVUtSV2VQVXJ5b0FtTFhjWUtEVGladzBI?= =?utf-8?B?V3ByNkwySDFDYmVHQWRnY2R6Z054VWdwVHd6Q01SZFpUUEtTWmEzQ0doTGQv?= =?utf-8?B?bnBRUjhVdkJDbDBnenQzeng5Y21rZSt1YkxMTFRBZjIrVUtzWldzT3BXOElB?= =?utf-8?B?cDJYVDZCcTdsTnlkRld1dVp3OGQvZCt3NzJxOXRqSThIdUdDSXFKUVEvamcv?= =?utf-8?B?QUxGaFVGM2FnVWU4RktsNGExdUx3eVhvMkJSdmRsUkF3NFFIRVk1eGJ3b2Ns?= =?utf-8?B?MVI4NWs1MlVBTlBsTHFGVDhUQmVkNnhqZHU5TDY4OW1yVG9RV1Z6L01RVi9J?= =?utf-8?B?ZXUrNG9aTHJJTGxFOXVZbGxlcHU3K0tuN3Q3bEYyVTV1Yzd0TzNmYlRRNE5U?= =?utf-8?B?YWdBeUxpUjNncUtiYlJhT3MxZDh1U0lhdnZQNWc3Wkh6dFgwNmZYM3lrQzNG?= =?utf-8?B?WXRJaEQyK3Fmd2pFRk5CcVRoWVBZNjBSbXRzTHNBcFRPai9xbGNSek1GZzdk?= =?utf-8?B?U1Y5OG9lTVdQdlFZcTl0Yy84UGlQVUZnQWFDajVGWDc4UDJWeHpKaUJYdWVp?= =?utf-8?B?VStheWtsYndGcUh0azlUaXJ3am5GRGJoNGF2RFBvZVdxMjBrekJYSXNqbFV1?= =?utf-8?B?dC9PQ0c5LzFhWHhNMlhSZWl1NmlnQXk2Y1prMjlEK3JnZW96cmJxNDVYcGdG?= =?utf-8?B?dHpwVi9Jb01OdmNMMnhXNU5OVnhrQ01mVjZXSy9ZY1RseU1iaTM3b01qcDU2?= =?utf-8?B?cmc0aHE5ZStCZk9oUHBmK1I3c1FIa2tLTVViQ0crYjVVQjR4TkExQWRCQVFU?= =?utf-8?B?eGFxU3NlRXUyRmNlVFY0UVdHMUtxOCtjK1B1WmFMUHFPRXBxOEs3anRibG5u?= =?utf-8?B?Zjc2WUszY1ZtUlVxZlRyV2hWRWZrY0J6UDN4M1ZoOHdjTHZhTDFwZTJMSlNG?= =?utf-8?B?Z0dDSWNrNFlObGlpbjRzeU55TmcwUVZQWjM3Q21NSWRScWpwS29XYzZOaEVa?= =?utf-8?B?RllPaGZ0QkNzRVo1R3FWM3Ywbk1oZUJFUVZGMmFCZUdtQ25JeFJ4WG95ZUFW?= =?utf-8?B?b09GK1B2ekhGUFdqVldJSGJ6b01wWXFnbWtHS0JEbGEzTDFZMUF6SlUwdTR6?= =?utf-8?B?bnVENWpyejMrOVhSNnR5SmRwTFdQSWdOb1NYV1p5cURNNTM4SkpJWnNJTyts?= =?utf-8?B?eW93WFB3THg4cU9VSDdYUEs0UzNTWXA2T05vUnlWTW5XY1ZLQXhSekR2WXhD?= =?utf-8?B?QWdMS2JTbWQvMWVkbEMwUTZLeDV4WVZ1VVJWTG1ROGVlckQzUlhoM29UQTJP?= =?utf-8?B?a0E9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 252a6863-680c-4517-7ab1-08dc3e9b9eaa X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2024 11:42:08.3723 (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: uXfO5iiTqtgexfqaLld1RX66yowj9iiEG9TFp3L1dAD1oyKAvOCGTrs5YxPZX6PzoG4tCObngH7ibyGJ12aauIgfOBDSkQF+TcqkjpeJJOo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6554 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 Thu, Mar 07, 2024 at 11:46:51AM +0100, David Marchand wrote: > On Wed, Mar 6, 2024 at 11:17 PM Paul Szczepanek wrote: > > > > Allow header only libraries. > > > > Signed-off-by: Paul Szczepanek > > Reviewed-by: Dhruv Tripathi > > Don't forget to Cc: Bruce, he is the build system maintainer. > > > > > > --- > > lib/meson.build | 176 +++++++++++++++++++++++++----------------------- > > 1 file changed, 91 insertions(+), 85 deletions(-) > > Copy/pasting git show -w, it is easier to review: > > > > diff --git a/lib/meson.build b/lib/meson.build > > index 179a272932..293d65385d 100644 > > --- a/lib/meson.build > > +++ b/lib/meson.build > > @@ -222,6 +222,7 @@ foreach l:libraries > > includes += include_directories(l) > > dpdk_includes += include_directories(l) > > > > + if sources.length() != 0 > > if developer_mode and is_windows and use_function_versioning > > message('@0@: Function versioning is not supported by Windows.'.format(name)) > > endif > > @@ -321,6 +322,11 @@ foreach l:libraries > > > > dpdk_libraries = [shared_lib] + dpdk_libraries > > dpdk_static_libraries = [static_lib] + dpdk_static_libraries > > + else # sources.length() == 0 > > + # if no C files, just set a dependency on header path > > + shared_dep = declare_dependency(include_directories: includes) > > In the hypothetical case that such a header only library would depend > on some external library, I suspect we would need to pass external > dependencies here. > Like: > > - shared_dep = declare_dependency(include_directories: includes) > + shared_dep = declare_dependency(include_directories: includes, > + dependencies: shared_deps) > > > > + static_dep = shared_dep > > + endif > > > > set_variable('shared_rte_' + name, shared_dep) > > set_variable('static_rte_' + name, static_dep) > This is very similar to what was done previously in DPDK, but that was done with the limitations of what early versions of meson supported. Since meson 0.49 release we have now got "break" and "continue" keywords, so rather than having to indent everything inside the if statement, I think it would be better to invert "sources.length()" check at the start, handle the len == 0 case, and then use "continue" to move on to the next library. There should only be the need to duplicate a couple of lines in that case. Thanks, /Bruce