public inbox for dev@dpdk.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
	Kiran Kumar Kokkilagadda <kirankumark@marvell.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	Satha Koteswara Rao Kottidi <skoteshwar@marvell.com>,
	Harman Kalra <hkalra@marvell.com>
Subject: Re: [EXTERNAL] [RFC] net/cnxk: only build if platform is specified
Date: Wed, 25 Feb 2026 09:43:38 -0800	[thread overview]
Message-ID: <20260225094338.5f0641a5@phoenix.local> (raw)
In-Reply-To: <PH0PR18MB4086434B58662DA7BF5F5F00DE75A@PH0PR18MB4086.namprd18.prod.outlook.com>

On Wed, 25 Feb 2026 08:01:19 +0000
Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com> 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 <stephen@networkplumber.org>
> >---
> > 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	other threads:[~2026-02-25 17:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-24 20:37 [RFC] net/cnxk: only build if platform is specified Stephen Hemminger
2026-02-25  8:01 ` [EXTERNAL] " Pavan Nikhilesh Bhagavatula
2026-02-25 17:43   ` Stephen Hemminger [this message]
2026-02-25 19:30     ` Pavan Nikhilesh Bhagavatula
2026-02-25 22:20       ` Stephen Hemminger
2026-02-26  4:50         ` Pavan Nikhilesh Bhagavatula
2026-02-26 21:16           ` Stephen Hemminger
2026-02-27 13:03             ` Pavan Nikhilesh Bhagavatula

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=20260225094338.5f0641a5@phoenix.local \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=hkalra@marvell.com \
    --cc=kirankumark@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=pbhagavatula@marvell.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.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