From patchwork Fri Jun 23 15:07: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: 128967 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 0FFEB42D31; Fri, 23 Jun 2023 17:08:00 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 05C7442D17; Fri, 23 Jun 2023 17:07:42 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 19E3C427F5 for ; Fri, 23 Jun 2023 17:07:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532859; x=1719068859; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=T5c1FJfaulogAzmqnphkNcQwO9Mv2XtzpCkBdL0hs+w=; b=k2qWdrZQ/YlQvwelSdoD0uHtZaYy/N+V43He2eG3ZOq5ROLBTXwNQoFO dXoor+AFUN7akLe0rfqoQey6i06weIhzlAR+9D7VoZx4i70sN0gxRLnDc 6PKAxpWkyb8PgHH6SnKzHNqbKAv48Ii4FOG7PVpNGf55CzGhJ1DIoi70P y/75A1XEVYssW5NjN26nt5BaTeRWdf60r+hX3WisgS3xTrlhUCkp8aG+T cvCG+qqGb4SShVKeOm1goPtQT79chV5Q0ReIkin5XhBNpGNGOatFt3Q14 XZ1yZzNlqGmpHAJcUy5gK8vDuOUgoERLl1TkwWWQnOBdDiYPGjwRyV4eU A==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467927" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467927" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697245" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697245" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:23 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= Subject: [PATCH v4 3/9] build: make most device classes optional Date: Fri, 23 Jun 2023 16:07:02 +0100 Message-Id: <20230623150708.2203918-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-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 | 41 ++++++++++++++++++++++++++--------------- lib/meson.build | 7 +++++++ 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index 3e0a2360a3..ad7be379b0 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]] @@ -402,15 +409,18 @@ if dpdk_conf.has('RTE_NET_BOND') driver_test_names += 'link_bonding_mode4_autotest' endif endif -if dpdk_conf.has('RTE_LIB_EVENTDEV') and dpdk_conf.has('RTE_NET_RING') +if dpdk_conf.has('RTE_NET_RING') test_deps += 'net_ring' test_sources += 'test_pmd_ring_perf.c' test_sources += 'test_pmd_ring.c' - test_sources += 'test_event_eth_tx_adapter.c' test_sources += 'sample_packet_forward.c' fast_tests += [['ring_pmd_autotest', true, true]] perf_test_names += 'ring_pmd_perf_autotest' - fast_tests += [['event_eth_tx_adapter_autotest', false, true]] + if dpdk_conf.has('RTE_LIB_EVENTDEV') + test_sources += 'test_event_eth_tx_adapter.c' + test_sources += 'test_security_inline_proto.c' + fast_tests += [['event_eth_tx_adapter_autotest', false, true]] + endif if dpdk_conf.has('RTE_LIB_BITRATESTATS') test_sources += 'test_bitratestats.c' fast_tests += [['bitratestats_autotest', true, true]] @@ -430,6 +440,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', ]