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 201274591F; Fri, 6 Sep 2024 16:52:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A36A542F0B; Fri, 6 Sep 2024 16:52:02 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by mails.dpdk.org (Postfix) with ESMTP id 68F3540B99 for ; Fri, 6 Sep 2024 16:52:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1725634321; x=1757170321; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=m+2mOSsNhQUgGSxBidyKsehhYQN9BwQydBhEtAOBqdw=; b=BOjGw+odouZlk3GEmZd1SaOjvbmS6UJJiEi5lJCdxj/o8UzjyUkOnMeA IrBVkLjkeunmZG9oBWkatnZ3k2ygPHo20ztKGvmnICmEeNUr1uDR8q0tJ sZ/Ent4oyI4sinvkhYkQ93nFnesiaplcn5iYJhbLSkGcdfW42sWHlMdmq ovMfdPaXzSs0bT4ZqAgMggv97ldK9maFW+4OTEeantR6MCuB8OqvjzSme +30bcjC+8BxomvSZyclqBn0kE9iEW5DX1b22T5Oo1p2rbk8dzjOPU07Le 2skT5W8uyLgiUXs0nBGw4LmXBaK2RiU6zmdE+U5ps4GDY8c8q2hT67cZE Q==; X-CSE-ConnectionGUID: m03YvZHBRpuImUDJa0wmAg== X-CSE-MsgGUID: fy60MxLBR+e6QEuC6khzVw== X-IronPort-AV: E=McAfee;i="6700,10204,11187"; a="24196493" X-IronPort-AV: E=Sophos;i="6.10,208,1719903600"; d="scan'208";a="24196493" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2024 07:52:00 -0700 X-CSE-ConnectionGUID: /skRZIU7S9aGJwJTULP2Sg== X-CSE-MsgGUID: aMoT+hNlTeS6lsiYB1kNww== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,208,1719903600"; d="scan'208";a="65790410" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orviesa010.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 06 Sep 2024 07:51:59 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 6 Sep 2024 07:51:58 -0700 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.39; Fri, 6 Sep 2024 07:51:58 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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.39 via Frontend Transport; Fri, 6 Sep 2024 07:51:58 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.170) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 6 Sep 2024 07:51:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=suK64IKzoTGA36wlowZeJqB6lVH1pHDuNe8FVS7tZBQfyYfX8/YPbnH0YrxcQWt0AC6+4ShkmIDVIRpEbMZZyYAq3uHXU8nYwFLZOeWHpzKtvxTjTlEmvowT33u6i9wWGtOMlqS8n1e8t1KofgYcGk8urcuB5gIl2L2Uk7+lzdnZKtXECSqy/0cP2rDNAl8AGSIf2nrXVH29JKl7sTV/2KMiOog3Mq6oIUrN6WaR02/Lxg0AXZQTPRJIth9vhG6+jE9dMYyxJnPMXJvb2Zw5rUIayO7u+KRTFpScL3iDvZpZox2SsKmljOwHp+P9sMPSxUf0KEY6rtWC7VIhShJ+Rg== 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=zsc/UHcOSLMZ0lUVUmG0yxJSU7KFB7tuh4U/V9hFxUM=; b=s24NBN337aAp1DUbeVdQTqRwPYXVH8hHUP8sbtc4d6hXFu+V2ykR/6vzuUQrOZyzpz4WTld0c86bUuSTeJv1nS68IEMLRjcQWGOhSuaTcWIBY89Qf3ygq6PdQBE745Un7/gItFj+vuHGRMC13KU0FKWjhhLj2u9VwgLW4x98jcY4yr7oKfKo++i6Z88dhUuyMPblxgCwKeDmYUh2L5ulfRxjjYOfKDXavr24i08iz35YeWc8rZHmOOw5gy+YGnX5fyzBlJxnK/iAVsZqs/VFCPW5wyXptejvy4x4WaWAw3vvHaBdgiM5pj54kOzQWNd0EbmzRc2rqJdL8mXIf8//zA== 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 PH0PR11MB4951.namprd11.prod.outlook.com (2603:10b6:510:43::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.17; Fri, 6 Sep 2024 14:51:55 +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.7918.024; Fri, 6 Sep 2024 14:51:55 +0000 Date: Fri, 6 Sep 2024 15:51:48 +0100 From: Bruce Richardson To: Anatoly Burakov CC: , Reshma Pattan , Nicolas Chautru , Brian Dooley , "Aman Singh" , Akhil Goyal , "Fan Zhang" , David Hunt , Sivaprasad Tummala Subject: Re: [PATCH v3 1/8] build: split dependencies into mandatory and optional Message-ID: References: <20240730145508.551075-1-bruce.richardson@intel.com> <69a7b78dd7cb91892620b129ac5cf3a7f7e09e2b.1725462264.git.anatoly.burakov@intel.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <69a7b78dd7cb91892620b129ac5cf3a7f7e09e2b.1725462264.git.anatoly.burakov@intel.com> X-ClientProxiedBy: DB9PR02CA0027.eurprd02.prod.outlook.com (2603:10a6:10:1d9::32) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|PH0PR11MB4951:EE_ X-MS-Office365-Filtering-Correlation-Id: c35b1535-cfde-488c-6f83-08dcce837319 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?k3BaLRmqsBJFHZ08lTPOWTCS8VdJZp7Sj5eTExfPR25lDwSklqVIato1Nnml?= =?us-ascii?Q?ztmIlUwKtIRBBRxHfczA39SusicQLeUUtGUm31laCno6myLeQ9Nmj1jIIOo4?= =?us-ascii?Q?KPes8YGRUAqM1SwBSrMM5quEE1dBQQ2mV8Mxf5eRRHTX5stGKEUVdRtnMECf?= =?us-ascii?Q?myg2LVqbV+P4fxyJ+tOM3UbcGbmQujiNqSD61X8C5hi/0u5RoWjXy8jBHl4d?= =?us-ascii?Q?RM8OW996ZxLjnNWViSKoyv0KuJSVTNmDa0orbO7VahAsrdu0YlqW3Ki9/KLQ?= =?us-ascii?Q?lDgrM1+V0zBYVOMG41BbaUIu+o+NL5e+PR1YP83IvOCJmpvKXGXm2fUakOrL?= =?us-ascii?Q?QcXtopMbUxq7cc39yH47aMHCF/4qrBRRkumaNeOfO9FcFklQKRypF98nYcRY?= =?us-ascii?Q?oQW2T+62RpS2xehfzgY/vvIUmjYv2fzar2s4swGj2JREjd/2IYVyjkrHCjch?= =?us-ascii?Q?23I7zSUIqsY3m4zhXtQDfnEsdMAuPDchAE7eiRs9GBgR011XwUuZvmh1OlFD?= =?us-ascii?Q?odNHcGzeTwdjM+r17D3WLQSNGPTBi9eeKiBnv197X3Fm+iKzEFzg9OyNvaXM?= =?us-ascii?Q?WylEVLUdAJcCB3PFtK8xEJV4yiikQeo1howQ7NjtL/0F/eBUYWjovGIe+yn7?= =?us-ascii?Q?kA4kSbzmmMvCAIc2SwcYeL1z76hUMGEURvqCmiZi5oOc9INd0afSsVtcDhkn?= =?us-ascii?Q?FEKSHMBBKktmT8ZH0U3Cj4OpvrTYaLCiBign7DiVRr6w6N7jj/RQcOV7Rz/4?= =?us-ascii?Q?BXUaRg2lnAwb3CtW6OBDdoFjEL8UCQvrE8q+jU6uKkYpEumzwhLLG8I2+0JE?= =?us-ascii?Q?cPICTJ3iyUENoLYIqgZ1rBK4VulWz8X4tzbUVAYbHTvjPV2gRfpdyC0FK2DZ?= =?us-ascii?Q?udKe021oV1E3NUWB6IQRDoSKZ6oQuSYW3cfh3nYNjmYSsIutANRN0CgfgWjt?= =?us-ascii?Q?fsHzyg8TDXdxo6zeLlgVuFXPvVKJ++bzgIaNABJbqVv0/RgOhvBSNuyVuJML?= =?us-ascii?Q?69L+4diKFmFmdRZzw62AaqPiJEza7ZA8bu+e/jwBlTr/Vrbdyb+TawMPSfAA?= =?us-ascii?Q?Xbx2MZs3mXd3i5h7EQLeD3QmqP5u7az3h1BYGlA9mmCKbHKr2OCP30tGYjCc?= =?us-ascii?Q?p0SQ+Sxk+bmXtcLHjrPjEgCrKN7cj6dMqsmRtDPzPRM6yU20SM3Y26MLSdbB?= =?us-ascii?Q?dCtZvaTOSs8mkk1LuMs38gSpGbpGaEw5zsGgvvgIxycXWM/lFD/VHaRAsiLZ?= =?us-ascii?Q?KdxEaXmCc3+WJiUAyBZJIYVlm8od6c0ojtoYUsvfOP0p0RfBHXAtj4rkqNtu?= =?us-ascii?Q?0+6TLnHFsCXFdJ292ekOD5iKFZzD8GvsDs0G5Sq53em/KC5PMvV+ZxpzQZeI?= =?us-ascii?Q?yxeb8nI=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)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZXCLdmxwEBVD2C1H6LSEhXpvt2g5VfG1fnJ/T9J5g9CqBsQfdLUQiI2EZhj/?= =?us-ascii?Q?1HnxJhXUPOU7UkzQ5JMmKhVo2CD4WAPLmbX64e6QvCPsjydrTGkWgzLkiqEX?= =?us-ascii?Q?uWtHTZH9DjsvYUtIdZP2JuTJVM+VJ4iaI0DJ9gUlZ50g0X6gDCkYvsja8q3q?= =?us-ascii?Q?0zUv0c2nwqhVOiE3PtP+AwevYOnWgOboUJQB+ASvcWuCk5nk4Xhzf2xxB7VS?= =?us-ascii?Q?JrOYxEbiiu/SEOiZCn5APnx8ANtcGGa0CHRcgAZxUeAJ9VpsDVEwAh+wUwaZ?= =?us-ascii?Q?5+8+8w08mjXST/hgntD0dG38H2dQyHt2gYfou1A696VXDLkGyBqOLlgDcLG8?= =?us-ascii?Q?0Ov8udexO980UIZ2yXUnxKX9gy19xQEHyiw9mocvFaAUpsr47KANgSdUuAFQ?= =?us-ascii?Q?BPBb/NzK71dSST3UvQVWPoC/YPG/UgYGisTd/KgjLTQAYT4Bg4X8i17yiC5Z?= =?us-ascii?Q?S8/+miHNPfV9lU7jxTE0P3GfLfpdGXU6DEoN0OLS4nGz8+RlUdEobOdQvcXf?= =?us-ascii?Q?1uFI05wIPGb/IIllgTlPpokHZ4JxnwBEhDrwAhR8y6u1UsBpONS+YkE398Y2?= =?us-ascii?Q?UC4p6aCT+J5J/6c436okstkC7UZevACNvuQXKulNqjF+hrTtcjPPYtkHdOkb?= =?us-ascii?Q?gmuxYPDb4dYY8M/4Cotk+YKHzi1TNOTrS/RsCLBo7zVRp7toWbUhnjM1OxLl?= =?us-ascii?Q?2dEoONkh+jEl0E7GAxDyxGcogxuPQkevBgyTkOnEtFXFmJkwVz4aP8xa2+vk?= =?us-ascii?Q?/+A1grAzb4JFynnmIa4qrny14lkIHx5uDaaWxPm7w3pRy1qpgYWW2B51SBZr?= =?us-ascii?Q?jq0QGnN85+ADcMOdVgeFZ7dd1SXOYz/8MouDKeQLGbQKRPlku0PFj8aGMsP0?= =?us-ascii?Q?wplTG34cbdUbHRygp+RLp4/L3ZrG0q5bDsnFyNWZV++nsvcjQMWgUCbZoc25?= =?us-ascii?Q?M0i/mDlzKvyAaGuo14QC8YzMh5Vj7FRjLQhRv1uAX781q5YjqGwDvSWVDyLi?= =?us-ascii?Q?JF+6GiqnPAK7Qq0nmeonB0RMNHOYoii2BoDKkYu/+map8x/wLCNCM3sOA1MU?= =?us-ascii?Q?KPTE/cPK2N8P+vUKeM49j28F0Scd8JqG8WLUh/e96xlRAQnIUcX3i/FvlEbZ?= =?us-ascii?Q?vl0JQivpq5fhcFuiR0biHSf5uAoHNIRscqhodbgp4g1lvnKG438jqBIvoUtt?= =?us-ascii?Q?Do3MAN2xMFKafLgeglFBDjHjYsPniZxUY3sroIJskVqxz7zmDXlQHv2WAWHm?= =?us-ascii?Q?DcIPq8mqWdSdG9Gpv+kNbiEYTAnfUntiVdvtzT7RP1irKGjMalT5fkDmYRs6?= =?us-ascii?Q?ODmhpIVwP6GTbwQ40gd82g03xOAw/NCy/LxRqg+01KyAlnRtvOYizjWInQV5?= =?us-ascii?Q?BOoSlVA7FgBpcS00czhoaWcxX8slEsmJZRBGn+ox/gEhABAcvwiqCdoZzM5Q?= =?us-ascii?Q?X3se0a5+iPYXy8dF96yJs9t5Uuz8348iR+8HWef9RMWTudrzMfe9HWWtcJJ2?= =?us-ascii?Q?nUr/CXNEjHad0FyTrkMw8bGVWLEHoRBVEX1WRIbU5UntYPnVHs+aivjzsGmy?= =?us-ascii?Q?NvKSnMsTXzeCk6f970dH8baF37Dq/XYcg1dlQG73EsTLoBDk+GGKVLoRCady?= =?us-ascii?Q?tA=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: c35b1535-cfde-488c-6f83-08dcce837319 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2024 14:51:54.9388 (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: +GOiHZatUxficvsTEI+11aK42MQeMR4RMQqgg41ZkAVf4N7H8fnYq972Dk0xW7eqv0HvBbL4vRxKhqqkPEaErkflz96z/Ori9jMYPuhy6z8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4951 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 Wed, Sep 04, 2024 at 04:08:29PM +0100, Anatoly Burakov wrote: > Allow specifying dependencies as either mandatory or optional. This does > not change anything about the build, but it is useful for tooling to know > if a dependency is required or not. > Ideally we probably want to merge the support in this patch with the idea expressed in [1] /Bruce [1] https://patches.dpdk.org/project/dpdk/patch/20231220142152.492556-4-bruce.richardson@intel.com/ > Signed-off-by: Anatoly Burakov > --- > app/meson.build | 3 ++- > app/proc-info/meson.build | 2 +- > app/test-bbdev/meson.build | 8 ++++---- > app/test-crypto-perf/meson.build | 2 +- > app/test-pmd/meson.build | 26 +++++++++++++------------- > app/test/meson.build | 12 ++++++------ > drivers/meson.build | 3 ++- > examples/ethtool/meson.build | 2 +- > examples/l2fwd-crypto/meson.build | 2 +- > examples/l3fwd/meson.build | 2 +- > examples/meson.build | 3 ++- > examples/vm_power_manager/meson.build | 6 +++--- > lib/meson.build | 3 ++- > 13 files changed, 39 insertions(+), 35 deletions(-) > > diff --git a/app/meson.build b/app/meson.build > index 5b2c80c7a1..1c61cd862c 100644 > --- a/app/meson.build > +++ b/app/meson.build > @@ -65,6 +65,7 @@ foreach app:apps > # external package/library requirements > ext_deps = [] > deps = [] > + optional_deps = [] > > if not enable_apps.contains(app) > build = false > @@ -84,7 +85,7 @@ foreach app:apps > > if build > dep_objs = [] > - foreach d:deps > + foreach d:deps + optional_deps > var_name = get_option('default_library') + '_rte_' + d > if not is_variable(var_name) > build = false > diff --git a/app/proc-info/meson.build b/app/proc-info/meson.build > index 4f83f29a64..156592119b 100644 > --- a/app/proc-info/meson.build > +++ b/app/proc-info/meson.build > @@ -10,5 +10,5 @@ endif > sources = files('main.c') > deps += ['ethdev', 'security', 'eventdev'] > if dpdk_conf.has('RTE_LIB_METRICS') > - deps += 'metrics' > + optional_deps += 'metrics' > endif > diff --git a/app/test-bbdev/meson.build b/app/test-bbdev/meson.build > index 926e0a5271..c26e46a987 100644 > --- a/app/test-bbdev/meson.build > +++ b/app/test-bbdev/meson.build > @@ -15,14 +15,14 @@ sources = files( > ) > deps += ['bbdev', 'bus_vdev'] > if dpdk_conf.has('RTE_BASEBAND_FPGA_LTE_FEC') > - deps += ['baseband_fpga_lte_fec'] > + optional_deps += ['baseband_fpga_lte_fec'] > endif > if dpdk_conf.has('RTE_BASEBAND_FPGA_5GNR_FEC') > - deps += ['baseband_fpga_5gnr_fec'] > + optional_deps += ['baseband_fpga_5gnr_fec'] > endif > if dpdk_conf.has('RTE_BASEBAND_ACC') > - deps += ['baseband_acc'] > + optional_deps += ['baseband_acc'] > endif > if dpdk_conf.has('RTE_BASEBAND_LA12XX') > - deps += ['baseband_la12xx'] > + optional_deps += ['baseband_la12xx'] > endif > diff --git a/app/test-crypto-perf/meson.build b/app/test-crypto-perf/meson.build > index 7b02b518f0..05c71e0a0c 100644 > --- a/app/test-crypto-perf/meson.build > +++ b/app/test-crypto-perf/meson.build > @@ -21,5 +21,5 @@ sources = files( > ) > deps += ['cryptodev', 'net', 'security'] > if dpdk_conf.has('RTE_CRYPTO_SCHEDULER') > - deps += 'crypto_scheduler' > + optional_deps += 'crypto_scheduler' > endif > diff --git a/app/test-pmd/meson.build b/app/test-pmd/meson.build > index 719f875be0..5559829e09 100644 > --- a/app/test-pmd/meson.build > +++ b/app/test-pmd/meson.build > @@ -36,44 +36,44 @@ endif > > deps += ['ethdev', 'cmdline'] > if dpdk_conf.has('RTE_CRYPTO_SCHEDULER') > - deps += 'crypto_scheduler' > + optional_deps += 'crypto_scheduler' > endif > if dpdk_conf.has('RTE_LIB_BITRATESTATS') > - deps += 'bitratestats' > + optional_deps += 'bitratestats' > endif > if dpdk_conf.has('RTE_LIB_BPF') > sources += files('bpf_cmd.c') > - deps += 'bpf' > + optional_deps += 'bpf' > endif > if dpdk_conf.has('RTE_LIB_GRO') > - deps += 'gro' > + optional_deps += 'gro' > endif > if dpdk_conf.has('RTE_LIB_GSO') > - deps += 'gso' > + optional_deps += 'gso' > endif > if dpdk_conf.has('RTE_LIB_LATENCYSTATS') > - deps += 'latencystats' > + optional_deps += 'latencystats' > endif > if dpdk_conf.has('RTE_LIB_METRICS') > - deps += 'metrics' > + optional_deps += 'metrics' > endif > if dpdk_conf.has('RTE_LIB_PDUMP') > - deps += 'pdump' > + optional_deps += 'pdump' > endif > if dpdk_conf.has('RTE_NET_BNXT') > - deps += 'net_bnxt' > + optional_deps += 'net_bnxt' > endif > if dpdk_conf.has('RTE_NET_I40E') > - deps += 'net_i40e' > + optional_deps += 'net_i40e' > endif > if dpdk_conf.has('RTE_NET_IXGBE') > - deps += 'net_ixgbe' > + optional_deps += 'net_ixgbe' > endif > if dpdk_conf.has('RTE_NET_DPAA') > - deps += ['bus_dpaa', 'mempool_dpaa', 'net_dpaa'] > + optional_deps += ['bus_dpaa', 'mempool_dpaa', 'net_dpaa'] > endif > > # Driver-specific commands are located in driver directories. > includes = include_directories('.') > sources += testpmd_drivers_sources > -deps += testpmd_drivers_deps > +optional_deps += testpmd_drivers_deps > diff --git a/app/test/meson.build b/app/test/meson.build > index e29258e6ec..bb0a38b3a5 100644 > --- a/app/test/meson.build > +++ b/app/test/meson.build > @@ -7,7 +7,7 @@ sources += files('commands.c', 'test.c') > > # optional dependencies: some files may use these - and so we should link them in - > # but do not explicitly require them so they are not listed in the per-file lists below > -optional_deps = ['crypto_scheduler', 'lpm'] > +opt_deps = ['crypto_scheduler', 'lpm'] > > # some other utility C files, providing functions used by various tests > # so we need to include these deps in the dependency list for the files using those fns. > @@ -217,8 +217,8 @@ foreach f, f_deps : source_file_deps > break > else > # technically we might not need this dep, but adding it is harmless > - if d not in deps > - deps += d > + if d not in optional_deps > + optional_deps += d > endif > endif > endforeach > @@ -239,9 +239,9 @@ foreach f, f_deps : source_file_deps > endif > endforeach > # add the optional dependencies > -foreach d:optional_deps > - if is_variable(def_lib + '_rte_' + d) and d not in deps > - deps += d > +foreach d:opt_deps > + if is_variable(def_lib + '_rte_' + d) and d not in optional_deps > + optional_deps += d > endif > endforeach > > diff --git a/drivers/meson.build b/drivers/meson.build > index 66931d4241..b9a18a5986 100644 > --- a/drivers/meson.build > +++ b/drivers/meson.build > @@ -128,6 +128,7 @@ foreach subpath:subdirs > includes = [include_directories(drv_path)] > # set up internal deps. Drivers can append/override as necessary > deps = std_deps > + optional_deps = [] > # ext_deps: Stores external library dependency got > # using dependency() (preferred) or find_library(). > # For the find_library() case (but not with dependency()) we also > @@ -169,7 +170,7 @@ foreach subpath:subdirs > # get dependency objs from strings > shared_deps = ext_deps > static_deps = ext_deps > - foreach d:deps > + foreach d:deps + optional_deps > if not build > break > endif > diff --git a/examples/ethtool/meson.build b/examples/ethtool/meson.build > index d7f63d48af..e8638a8607 100644 > --- a/examples/ethtool/meson.build > +++ b/examples/ethtool/meson.build > @@ -20,7 +20,7 @@ includes = include_directories('lib', 'ethtool-app') > > deps += 'bus_pci' > if dpdk_conf.has('RTE_NET_IXGBE') > - deps += 'net_ixgbe' > + optional_deps += 'net_ixgbe' > endif > > allow_experimental_apis = true > diff --git a/examples/l2fwd-crypto/meson.build b/examples/l2fwd-crypto/meson.build > index bb44c88882..f16ebadc74 100644 > --- a/examples/l2fwd-crypto/meson.build > +++ b/examples/l2fwd-crypto/meson.build > @@ -8,7 +8,7 @@ > > deps += 'cryptodev' > if dpdk_conf.has('RTE_CRYPTO_SCHEDULER') > - deps += 'crypto_scheduler' > + optional_deps += 'crypto_scheduler' > endif > allow_experimental_apis = true > sources = files( > diff --git a/examples/l3fwd/meson.build b/examples/l3fwd/meson.build > index c25de77bba..5938452607 100644 > --- a/examples/l3fwd/meson.build > +++ b/examples/l3fwd/meson.build > @@ -19,5 +19,5 @@ sources = files( > 'main.c', > ) > if dpdk_conf.has('RTE_LIB_EVENTDEV') > - deps += 'eventdev' > + optional_deps += 'eventdev' > endif > diff --git a/examples/meson.build b/examples/meson.build > index 8e8968a1fa..82151d09b4 100644 > --- a/examples/meson.build > +++ b/examples/meson.build > @@ -98,11 +98,12 @@ foreach example: examples > ext_deps = [] > includes = [include_directories(example, 'common')] > deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline'] > + optional_deps = [] > subdir(example) > > if build > dep_objs = ext_deps > - foreach d:deps > + foreach d:deps + optional_deps > var_name = get_option('default_library') + '_rte_' + d > if not is_variable(var_name) > build = false > diff --git a/examples/vm_power_manager/meson.build b/examples/vm_power_manager/meson.build > index b866d8fd54..25e5bcb71b 100644 > --- a/examples/vm_power_manager/meson.build > +++ b/examples/vm_power_manager/meson.build > @@ -9,15 +9,15 @@ > deps += ['power'] > > if dpdk_conf.has('RTE_NET_BNXT') > - deps += ['net_bnxt'] > + optional_deps += ['net_bnxt'] > endif > > if dpdk_conf.has('RTE_NET_I40E') > - deps += ['net_i40e'] > + optional_deps += ['net_i40e'] > endif > > if dpdk_conf.has('RTE_NET_IXGBE') > - deps += ['net_ixgbe'] > + optional_deps += ['net_ixgbe'] > endif > > allow_experimental_apis = true > diff --git a/lib/meson.build b/lib/meson.build > index 162287753f..7916deadd9 100644 > --- a/lib/meson.build > +++ b/lib/meson.build > @@ -134,6 +134,7 @@ foreach l:libraries > # external package/library requirements > ext_deps = [] > deps = [] > + optional_deps = [] > # eal is standard dependency once built > if dpdk_conf.has('RTE_LIB_EAL') > deps += ['eal'] > @@ -171,7 +172,7 @@ foreach l:libraries > > shared_deps = ext_deps > static_deps = ext_deps > - foreach d:deps > + foreach d:deps + optional_deps > if not build > break > endif > -- > 2.43.5 >