DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: "Bruce Richardson" <bruce.richardson@intel.com>,
	"Morten Brørup" <mb@smartsharesystems.com>
Subject: [PATCH v4 3/9] build: make most device classes optional
Date: Fri, 23 Jun 2023 16:07:02 +0100	[thread overview]
Message-ID: <20230623150708.2203918-4-bruce.richardson@intel.com> (raw)
In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com>

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 <bruce.richardson@intel.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
 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',
 ]
-- 
2.39.2


  parent reply	other threads:[~2023-06-23 15:08 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-22 13:48 [PATCH 0/7] expand list of optional libraries Bruce Richardson
2023-06-22 13:48 ` [PATCH 1/7] build: make most device classes optional Bruce Richardson
2023-06-22 13:48 ` [PATCH 2/7] build: make membership library optional Bruce Richardson
2023-06-22 13:48 ` [PATCH 3/7] build: make bpf " Bruce Richardson
2023-06-22 13:48 ` [PATCH 4/7] build: make efd " Bruce Richardson
2023-06-22 13:48 ` [PATCH 5/7] build: make distributor " Bruce Richardson
2023-06-22 13:48 ` [PATCH 6/7] build: make fragmentation libary optional Bruce Richardson
2023-06-22 13:48 ` [PATCH 7/7] build: make reorder library optional Bruce Richardson
2023-06-22 14:30 ` [PATCH 0/7] expand list of optional libraries Morten Brørup
2023-06-22 15:05 ` [PATCH v2 " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 1/7] build: make most device classes optional Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 2/7] build: make membership library optional Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 3/7] build: make bpf " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 4/7] build: make efd " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 5/7] build: make distributor " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 6/7] build: make fragmentation " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 7/7] build: make reorder " Bruce Richardson
2023-06-23 10:25   ` [PATCH v2 0/7] expand list of optional libraries David Marchand
2023-06-23 10:31     ` David Marchand
2023-06-23 11:08       ` Bruce Richardson
2023-06-23 11:15 ` [PATCH v3 0/8] " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 1/8] examples/l3fwd: make eventdev an optional dependency Bruce Richardson
2023-06-23 13:25     ` Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 2/8] build: make most device classes optional Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 3/8] build: make membership library optional Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 4/8] build: make bpf " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 5/8] build: make efd " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 6/8] build: make distributor " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 7/8] build: make fragmentation " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 8/8] build: make reorder " Bruce Richardson
2023-06-23 15:06 ` [PATCH v4 0/9] expand list of optional libraries Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 1/9] examples/l3fwd: make eventdev an optional dependency Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 2/9] event/dlb2: skip configuration if no eventdev lib Bruce Richardson
2023-06-28 10:19     ` David Marchand
2023-06-29  9:39       ` David Marchand
2023-07-18  9:09         ` Bruce Richardson
2023-08-01  8:36           ` David Marchand
2023-08-01  9:17             ` Bruce Richardson
2023-06-23 15:07   ` Bruce Richardson [this message]
2023-06-23 15:07   ` [PATCH v4 4/9] build: make membership library optional Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 5/9] build: make bpf " Bruce Richardson
2023-06-27  9:26     ` Konstantin Ananyev
2023-06-23 15:07   ` [PATCH v4 6/9] build: make efd " Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 7/9] build: make distributor " Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 8/9] build: make fragmentation " Bruce Richardson
2023-06-27  9:32     ` Konstantin Ananyev
2023-07-17 13:19       ` Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 9/9] build: make reorder " Bruce Richardson
2023-07-04  1:40   ` [PATCH v4 0/9] expand list of optional libraries fengchengwen
2023-08-14 15:10   ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230623150708.2203918-4-bruce.richardson@intel.com \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=mb@smartsharesystems.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).