On Wed, 25 Feb 2026 08:01:19 +0000 Pavan Nikhilesh Bhagavatula <[email protected]> wrote:
> >The generic build was building for all SOC types and that > >takes a long time (like 10 minutes). The driver should only be > >built if soc_type is set to one of the know values. > > > >Signed-off-by: Stephen Hemminger <[email protected]> > >--- > > drivers/net/cnxk/meson.build | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > >diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build > >index 53caa6c171..4a2f4e1a92 100644 > >--- a/drivers/net/cnxk/meson.build > >+++ b/drivers/net/cnxk/meson.build > >@@ -14,8 +14,10 @@ else > > soc_type = platform > > endif > > > >-if soc_type != 'cn9k' and soc_type != 'cn10k' and soc_type != 'cn20k' > >- soc_type = 'all' > >+if soc_type != 'cn9k' and soc_type != 'cn10k' and soc_type != 'cn20k' and > >soc_type != 'all' > >+ build = false > >+ reason = 'not supported on soc_type ' + soc_type > >+ subdir_done() > > endif > > Instead of disabling the build, we can just diable template functions when > soc_type is 'all' > > diff --git a/drivers/event/cnxk/meson.build b/drivers/event/cnxk/meson.build > index 24b48d045f..00295246b6 100644 > --- a/drivers/event/cnxk/meson.build > +++ b/drivers/event/cnxk/meson.build > @@ -36,6 +36,10 @@ if meson.version().version_compare('>=1.1.0') > endif > endif > > +if soc_type == 'all' > + disable_template = true > +endif > + > if soc_type == 'cn9k' or soc_type == 'all' > sources += files( > 'cn9k_eventdev.c', > diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build > index 53caa6c171..9382491ae4 100644 > --- a/drivers/net/cnxk/meson.build > +++ b/drivers/net/cnxk/meson.build > @@ -52,6 +52,11 @@ if meson.version().version_compare('>=1.1.0') > endif > endif > > +if soc_type == 'all' > + disable_template = true > +endif > + > + > if soc_type == 'cn9k' or soc_type == 'all' > # CN9K > sources += files( > > > Thanks, > Pavan. > > > > > sources = files( > >-- > >2.51.0 > > Good idea, but fails miserably. n$ git diff diff --git a/drivers/event/cnxk/meson.build b/drivers/event/cnxk/meson.build index 24b48d045f..93d7bfdc31 100644 --- a/drivers/event/cnxk/meson.build +++ b/drivers/event/cnxk/meson.build @@ -36,6 +36,10 @@ if meson.version().version_compare('>=1.1.0') endif endif +if soc_type == 'all' + disable_template = true +endif + if soc_type == 'cn9k' or soc_type == 'all' sources += files( 'cn9k_eventdev.c', diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build index 53caa6c171..d4d1dddceb 100644 --- a/drivers/net/cnxk/meson.build +++ b/drivers/net/cnxk/meson.build @@ -52,6 +52,10 @@ if meson.version().version_compare('>=1.1.0') endif endif +if soc_type == 'all' + disable_template = true +endif + if soc_type == 'cn9k' or soc_type == 'all' # CN9K sources += files( $ time ninja -C build ninja: Entering directory `build' [1480/3492] Linking target drivers/librte_net_cnxk.so.26.1 FAILED: drivers/librte_net_cnxk.so.26.1 cc -o drivers/librte_net_cnxk.so.26.1 drivers/librte_net_cnxk.so.26.1.p/meson-generated_.._rte_net_cnxk.pmd.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_cman.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_devargs.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_mcs.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_mtr.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_ops.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_sec.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_telemetry.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_sec_telemetry.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_eswitch.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_eswitch_devargs.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_eswitch_flow.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_eswitch_rxtx.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_flow_common.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_link.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_lookup.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ptp.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_flow.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_rep.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_rep_msg.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_rep_ops.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_rep_flow.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_stats.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_tm.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn9k_ethdev.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn9k_ethdev_sec.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn9k_flow.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn9k_rx_select.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn9k_tx_select.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn9k_rx_all_offload.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_tx_cn9k_tx_all_offload.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_ethdev.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_ethdev_sec.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_flow.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_tx_select.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_all_offload.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_tx_cn10k_tx_all_offload.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn20k_ethdev.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn20k_ethdev_sec.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn20k_flow.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn20k_rx_select.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn20k_tx_select.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn20k_rx_all_offload.c.o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_tx_cn20k_tx_all_offload.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,librte_net_cnxk.so.26 -Wl,--no-as-needed -Wl,--undefined-version -pthread -lm -ldl -lnuma -lfdt '-Wl,-rpath,$ORIGIN/../lib:$ORIGIN/' -Wl,-rpath-link,/home/shemminger/DPDK/main/build/lib -Wl,-rpath-link,/home/shemminger/DPDK/main/build/drivers lib/librte_ethdev.so.26.1 lib/librte_eal.so.26.1 lib/librte_kvargs.so.26.1 lib/librte_log.so.26.1 lib/librte_telemetry.so.26.1 lib/librte_argparse.so.26.1 lib/librte_net.so.26.1 lib/librte_mbuf.so.26.1 lib/librte_mempool.so.26.1 lib/librte_ring.so.26.1 lib/librte_meter.so.26.1 drivers/librte_bus_pci.so.26.1 lib/librte_pci.so.26.1 drivers/librte_bus_vdev.so.26.1 lib/librte_cryptodev.so.26.1 lib/librte_rcu.so.26.1 lib/librte_eventdev.so.26.1 lib/librte_hash.so.26.1 lib/librte_timer.so.26.1 lib/librte_dmadev.so.26.1 lib/librte_security.so.26.1 drivers/librte_common_cnxk.so.26.1 drivers/librte_mempool_cnxk.so.26.1 -Wl,--version-script=/home/shemminger/DPDK/main/build/drivers/net_cnxk_exports.map /usr/lib/aarch64-linux-gnu/libbsd.so -Wl,--end-group /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x0): undefined reference to `cn10k_nix_recv_pkts_no_offload' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x8): undefined reference to `cn10k_nix_recv_pkts_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x10): undefined reference to `cn10k_nix_recv_pkts_ptype' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x18): undefined reference to `cn10k_nix_recv_pkts_ptype_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x20): undefined reference to `cn10k_nix_recv_pkts_cksum' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x28): undefined reference to `cn10k_nix_recv_pkts_cksum_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x30): undefined reference to `cn10k_nix_recv_pkts_cksum_ptype' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x38): undefined reference to `cn10k_nix_recv_pkts_cksum_ptype_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x40): undefined reference to `cn10k_nix_recv_pkts_mark' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x48): undefined reference to `cn10k_nix_recv_pkts_mark_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x50): undefined reference to `cn10k_nix_recv_pkts_mark_ptype' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x58): undefined reference to `cn10k_nix_recv_pkts_mark_ptype_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x60): undefined reference to `cn10k_nix_recv_pkts_mark_cksum' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x68): undefined reference to `cn10k_nix_recv_pkts_mark_cksum_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x70): undefined reference to `cn10k_nix_recv_pkts_mark_cksum_ptype' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x78): undefined reference to `cn10k_nix_recv_pkts_mark_cksum_ptype_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x80): undefined reference to `cn10k_nix_recv_pkts_ts' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x88): undefined reference to `cn10k_nix_recv_pkts_ts_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x90): undefined reference to `cn10k_nix_recv_pkts_ts_ptype' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0x98): undefined reference to `cn10k_nix_recv_pkts_ts_ptype_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0xa0): undefined reference to `cn10k_nix_recv_pkts_ts_cksum' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0xa8): undefined reference to `cn10k_nix_recv_pkts_ts_cksum_rss' /usr/bin/ld: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn10k_rx_select.c.o:(.data+0xb0): undefined reference to `cn10k_nix_recv_pkts_ts_cksum_ptype'

