When compiling DPDK with mlx5 using clang on Windows with
"debug" buildtype the error below is hit:

net_mlx5_mlx5_flow_dv.c.obj : error LNK2019: unresolved external symbol
    mlx5_geneve_tlv_parser_create referenced in function
    flow_dv_discover_priorities
drivers\rte_net_mlx5-25.dll : fatal error LNK1120: 1 unresolved externals

With a "release" buildtype the error is not seen, which explains why this
issue was not reported earlier.

The same problem will show up with MSVC, but patches which are still under
review are needed for this to be hit with MSVC.

The cause of this problem seems to be that mlx5_flow_geneve.c is only
compiled on Linux. This patch fixes the issue by compiling the file on all
operating systems. It also sorts the file names in meson.build in
alphabetical order.

Signed-off-by: Andre Muezerie <andre...@linux.microsoft.com>
---
 drivers/net/mlx5/meson.build | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
index 78a8648b43..6a91692759 100644
--- a/drivers/net/mlx5/meson.build
+++ b/drivers/net/mlx5/meson.build
@@ -17,41 +17,41 @@ endif
 headers = files('rte_pmd_mlx5.h')
 sources = files(
         'mlx5.c',
+        'mlx5_devx.c',
         'mlx5_ethdev.c',
         'mlx5_flow.c',
-        'mlx5_flow_meter.c',
-        'mlx5_flow_dv.c',
         'mlx5_flow_aso.c',
+        'mlx5_flow_dv.c',
         'mlx5_flow_flex.c',
+        'mlx5_flow_geneve.c',
+        'mlx5_flow_meter.c',
         'mlx5_mac.c',
+        'mlx5_nta_rss.c',
         'mlx5_rss.c',
         'mlx5_rx.c',
         'mlx5_rxmode.c',
         'mlx5_rxq.c',
         'mlx5_rxtx.c',
         'mlx5_stats.c',
-        'mlx5_trigger.c',
         'mlx5_trace.c',
+        'mlx5_trigger.c',
         'mlx5_tx.c',
         'mlx5_tx_empw.c',
         'mlx5_tx_mpw.c',
         'mlx5_tx_nompw.c',
         'mlx5_tx_txpp.c',
-        'mlx5_txq.c',
         'mlx5_txpp.c',
-        'mlx5_vlan.c',
+        'mlx5_txq.c',
         'mlx5_utils.c',
-        'mlx5_devx.c',
-        'mlx5_nta_rss.c',
+        'mlx5_vlan.c',
 )
 
 if is_linux
     sources += files(
-            'mlx5_flow_geneve.c',
             'mlx5_flow_hw.c',
-            'mlx5_hws_cnt.c',
             'mlx5_flow_quota.c',
             'mlx5_flow_verbs.c',
+            'mlx5_hws_cnt.c',
             'mlx5_nta_split.c',
     )
 endif
-- 
2.49.0.vfs.0.0

Reply via email to