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'

Reply via email to