From patchwork Fri Jun 23 11:15:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128952 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2730E42D2F; Fri, 23 Jun 2023 13:15:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 173FA42D29; Fri, 23 Jun 2023 13:15:56 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id DD5A740ED7 for ; Fri, 23 Jun 2023 13:15:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687518955; x=1719054955; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=WHmbUKsWuPJkaEZ3Ni3kXoit2QAgoc+CYAP7+i7JmDU=; b=j2/5ZNmoiOyIt+SzB9Adhn8AcT3UEKg2Tjabs7f2ZhkqO8M0rhGEfXk7 i8AAFeph16ibZL5YoLWil6wvjpFSMQi+0+RNVNrsvkPi6XHYzp43Es7SU PEl4aIBsk3zGlTY/VbSM5lzVgmdgQ9vxUSMsHuFwWNR8+PcMBZuQrPAvZ raJoeASqO5Y5KhBLw72z2rXh7tI56YLOLwG3BsXTH3LdTkiYWfm3Z0jT6 Jw+ATwgkx3LoKVDUcnn0klWxskmWk2G4WIcYh4rsf7IcGXMdyD7+PoqG4 dvF0dVv0hROD8RbB9zpS622/3ZFhronU+2NuP1kknodX82rYhoba9CJd2 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10749"; a="363295943" X-IronPort-AV: E=Sophos;i="6.01,151,1684825200"; d="scan'208";a="363295943" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 04:15:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10749"; a="785307449" X-IronPort-AV: E=Sophos;i="6.01,151,1684825200"; d="scan'208";a="785307449" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by fmsmga004.fm.intel.com with ESMTP; 23 Jun 2023 04:15:26 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= Subject: [PATCH v3 2/8] build: make most device classes optional Date: Fri, 23 Jun 2023 12:15:02 +0100 Message-Id: <20230623111508.786020-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623111508.786020-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623111508.786020-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 Apart from ethdev and cryptodev, which have lots of components and tests which depend on them, we can make the device class libraries optional without too much work. This patch marks: * bbdev, * compressdev, * dmadev, * eventdev, * mldev, * rawdev, * regexdev optional, and ensures that DPDK - including tests - can be built with these components disabled. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup --- app/test/meson.build | 33 +++++++++++++++++++++------------ lib/meson.build | 7 +++++++ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index 3e0a2360a3..379effd10b 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -41,19 +41,12 @@ test_sources = files( 'test_devargs.c', 'test_distributor.c', 'test_distributor_perf.c', - 'test_dmadev.c', - 'test_dmadev_api.c', 'test_eal_flags.c', 'test_eal_fs.c', 'test_efd.c', 'test_efd_perf.c', 'test_errno.c', 'test_ethdev_link.c', - 'test_event_crypto_adapter.c', - 'test_event_eth_rx_adapter.c', - 'test_event_ring.c', - 'test_event_timer_adapter.c', - 'test_eventdev.c', 'test_external_mem.c', 'test_fbarray.c', 'test_fib.c', @@ -103,7 +96,6 @@ test_sources = files( 'test_power_intel_uncore.c', 'test_prefetch.c', 'test_rand_perf.c', - 'test_rawdev.c', 'test_rcu_qsbr.c', 'test_rcu_qsbr_perf.c', 'test_reciprocal_division.c', @@ -127,7 +119,6 @@ test_sources = files( 'test_sched.c', 'test_security.c', 'test_security_inline_macsec.c', - 'test_security_inline_proto.c', 'test_seqlock.c', 'test_service_cores.c', 'test_spinlock.c', @@ -186,7 +177,6 @@ fast_tests = [ ['eal_fs_autotest', true, true], ['errno_autotest', true, true], ['ethdev_link_status', true, true], - ['event_ring_autotest', true, true], ['fib_autotest', true, true], ['fib6_autotest', true, true], ['func_reentrancy_autotest', false, true], @@ -232,7 +222,6 @@ fast_tests = [ ['version_autotest', true, true], ['crc_autotest', true, true], ['distributor_autotest', false, true], - ['eventdev_common_autotest', true, true], ['fbarray_autotest', true, true], ['hash_readwrite_func_autotest', false, true], ['ipsec_autotest', true, true], @@ -319,7 +308,6 @@ driver_test_names = [ 'cryptodev_sw_snow3g_autotest', 'cryptodev_sw_zuc_autotest', 'cryptodev_uadk_autotest', - 'dmadev_autotest', ] dump_test_names = [] @@ -357,6 +345,25 @@ if dpdk_conf.has('RTE_EVENT_SKELETON') test_deps += 'event_skeleton' endif +if dpdk_conf.has('RTE_LIB_DMADEV') + test_sources += ['test_dmadev.c', 'test_dmadev_api.c'] + driver_test_names += 'dmadev_autotest' +endif +if dpdk_conf.has('RTE_LIB_EVENTDEV') + test_sources += [ + 'test_event_eth_rx_adapter.c', + 'test_event_ring.c', + 'test_event_timer_adapter.c', + 'test_eventdev.c', + ] + fast_tests += [ + ['event_ring_autotest', true, true], + ['eventdev_common_autotest', true, true], + ] + if dpdk_conf.has('RTE_LIB_CRYPTODEV') + test_sources += 'test_event_crypto_adapter.c' + endif +endif if dpdk_conf.has('RTE_LIB_FLOW_CLASSIFY') test_sources += 'test_flow_classify.c' fast_tests += [['flow_classify_autotest', false, true]] @@ -408,6 +415,7 @@ if dpdk_conf.has('RTE_LIB_EVENTDEV') and dpdk_conf.has('RTE_NET_RING') test_sources += 'test_pmd_ring.c' test_sources += 'test_event_eth_tx_adapter.c' test_sources += 'sample_packet_forward.c' + test_sources += 'test_security_inline_proto.c' fast_tests += [['ring_pmd_autotest', true, true]] perf_test_names += 'ring_pmd_perf_autotest' fast_tests += [['event_eth_tx_adapter_autotest', false, true]] @@ -430,6 +438,7 @@ if dpdk_conf.has('RTE_NET_NULL') fast_tests += [['vdev_autotest', true, true]] endif if dpdk_conf.has('RTE_RAW_SKELETON') + test_sources += 'test_rawdev.c' test_deps += 'raw_skeleton' fast_tests += [['rawdev_autotest', true, true]] endif diff --git a/lib/meson.build b/lib/meson.build index fac2f52cad..98a0672a04 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -68,8 +68,12 @@ libraries = [ ] optional_libs = [ + 'bbdev', 'bitratestats', 'cfgfile', + 'compressdev', + 'dmadev', + 'eventdev', 'flow_classify', 'gpudev', 'graph', @@ -79,11 +83,14 @@ optional_libs = [ 'jobstats', 'latencystats', 'metrics', + 'mldev', 'node', 'pdump', 'pipeline', 'port', 'power', + 'rawdev', + 'regexdev', 'table', 'vhost', ]