[RFC PATCH 10/12] build: add EAL common directory to global include list

Bruce Richardson bruce.richardson at intel.com
Fri Oct 16 12:59:48 CEST 2026


The eal/common directory includes many headers needed internally to
build various libraries, so add it to the global include rather than
relying on it being added separately in the lib meson.build file. To
simplify things further we can then just use global_inc as a standard
set of includes for building libraries - both pre and post-eal. While
those built with a dependency on EAL don't need this include, having it
there is harmless.

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
 drivers/common/mlx5/linux/meson.build | 1 -
 lib/eal/meson.build                   | 1 -
 lib/log/meson.build                   | 1 -
 lib/meson.build                       | 5 +----
 meson.build                           | 1 +
 5 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build
index 3767e7a69b..69dbbc8593 100644
--- a/drivers/common/mlx5/linux/meson.build
+++ b/drivers/common/mlx5/linux/meson.build
@@ -239,7 +239,6 @@ if dlopen_ibverbs
     dlopen_sources = files('mlx5_glue.c')
     dlopen_install_dir = [ eal_pmd_path + '-glue' ]
     dlopen_includes = [global_inc]
-    dlopen_includes += include_directories('../../../../lib/eal/common')
     dlopen_includes += include_directories('..')
     shared_lib = shared_library(
             dlopen_lib_name,
diff --git a/lib/eal/meson.build b/lib/eal/meson.build
index 092f5c5261..e72276a7ca 100644
--- a/lib/eal/meson.build
+++ b/lib/eal/meson.build
@@ -1,7 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2019 Intel Corporation
 
-includes += global_inc
 subdir('include')
 
 subdir('common')
diff --git a/lib/log/meson.build b/lib/log/meson.build
index b3de57b9c7..00f45b6bae 100644
--- a/lib/log/meson.build
+++ b/lib/log/meson.build
@@ -1,7 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2023 Intel Corporation
 
-includes += global_inc
 sources = files(
         'log.c',
         'log_color.c',
diff --git a/lib/meson.build b/lib/meson.build
index 8adb510513..16c7a65786 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -132,7 +132,7 @@ foreach l:libraries
     headers = []
     indirect_headers = [] # public headers not directly included by apps
     driver_sdk_headers = [] # public headers included by drivers
-    includes = []
+    includes = global_inc
     cflags = default_cflags
     objs = [] # other object files to link against, used e.g. for
               # instruction-set optimized versions of code
@@ -146,9 +146,6 @@ foreach l:libraries
     if dpdk_conf.has('RTE_LIB_EAL')
         # eal is standard dependency once built
         deps += ['eal']
-    else
-        # otherwise, make private headers available (like eal_export.h)
-        includes += include_directories('eal/common')
     endif
 
     if dpdk_libs_deprecated.contains(l)
diff --git a/meson.build b/meson.build
index e153894ac7..4536f7e9c5 100644
--- a/meson.build
+++ b/meson.build
@@ -76,6 +76,7 @@ endif
 config_inc = [include_directories('.', 'config')]
 global_inc = [config_inc, include_directories(
     'lib/eal/include',
+    'lib/eal/common',
     'lib/eal/@0@/include'.format(host_machine.system()),
     'lib/eal/@0@/include'.format(arch_subdir),
 )]
-- 
2.53.0



More information about the dev mailing list