[PATCH] meson: Group libipa and libipa_includes in a dependency object

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Jun 11 14:42:05 CEST 2024


Many build targets link with libipa and need libipa_includes. Group them
in a libipa_dep dependency object to simplify the users.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/ipa/ipu3/meson.build    | 5 ++---
 src/ipa/libipa/meson.build  | 4 ++++
 src/ipa/rkisp1/meson.build  | 5 ++---
 src/ipa/rpi/vc4/meson.build | 4 +---
 src/ipa/simple/meson.build  | 5 ++---
 src/ipa/vimc/meson.build    | 5 ++---
 test/ipa/meson.build        | 6 +++---
 test/ipa/rkisp1/meson.build | 6 +++---
 8 files changed, 19 insertions(+), 21 deletions(-)

diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build
index 66c398432d43..e76f97c07c87 100644
--- a/src/ipa/ipu3/meson.build
+++ b/src/ipa/ipu3/meson.build
@@ -15,9 +15,8 @@ ipu3_ipa_sources += ipu3_ipa_algorithms
 mod = shared_module(ipa_name,
                     [ipu3_ipa_sources, libcamera_generated_ipa_headers],
                     name_prefix : '',
-                    include_directories : [ipa_includes, libipa_includes],
-                    dependencies : libcamera_private,
-                    link_with : libipa,
+                    include_directories : [ipa_includes],
+                    dependencies : [libcamera_private, libipa_dep],
                     install : true,
                     install_dir : ipa_install_dir)
 
diff --git a/src/ipa/libipa/meson.build b/src/ipa/libipa/meson.build
index 8ec9c7847348..7f038c90cd87 100644
--- a/src/ipa/libipa/meson.build
+++ b/src/ipa/libipa/meson.build
@@ -27,3 +27,7 @@ libipa_includes = include_directories('..')
 libipa = static_library('ipa', [libipa_sources, libipa_headers],
                         include_directories : ipa_includes,
                         dependencies : libcamera_private)
+
+libipa_dep = declare_dependency(sources : libipa_headers,
+                                include_directories : libipa_includes,
+                                link_with : libipa)
diff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build
index cf05cdb27943..e8b266f1ccca 100644
--- a/src/ipa/rkisp1/meson.build
+++ b/src/ipa/rkisp1/meson.build
@@ -16,9 +16,8 @@ rkisp1_ipa_sources += rkisp1_ipa_algorithms
 mod = shared_module(ipa_name,
                     [rkisp1_ipa_sources, libcamera_generated_ipa_headers],
                     name_prefix : '',
-                    include_directories : [ipa_includes, libipa_includes],
-                    dependencies : libcamera_private,
-                    link_with : libipa,
+                    include_directories : [ipa_includes],
+                    dependencies : [libcamera_private, libipa_dep],
                     install : true,
                     install_dir : ipa_install_dir)
 
diff --git a/src/ipa/rpi/vc4/meson.build b/src/ipa/rpi/vc4/meson.build
index 590e9197756d..63fc5925b06c 100644
--- a/src/ipa/rpi/vc4/meson.build
+++ b/src/ipa/rpi/vc4/meson.build
@@ -15,7 +15,6 @@ vc4_ipa_libs = [
 
 vc4_ipa_includes = [
     ipa_includes,
-    libipa_includes,
 ]
 
 vc4_ipa_sources = files([
@@ -28,8 +27,7 @@ mod = shared_module(ipa_name,
                     [vc4_ipa_sources, libcamera_generated_ipa_headers],
                     name_prefix : '',
                     include_directories : vc4_ipa_includes,
-                    dependencies : vc4_ipa_deps,
-                    link_with : libipa,
+                    dependencies : [vc4_ipa_deps, libipa_dep],
                     link_whole : vc4_ipa_libs,
                     install : true,
                     install_dir : ipa_install_dir)
diff --git a/src/ipa/simple/meson.build b/src/ipa/simple/meson.build
index 44b5f1d70cd3..33d1c96aa4f2 100644
--- a/src/ipa/simple/meson.build
+++ b/src/ipa/simple/meson.build
@@ -10,9 +10,8 @@ soft_simple_sources = files([
 mod = shared_module(ipa_name,
                     [soft_simple_sources, libcamera_generated_ipa_headers],
                     name_prefix : '',
-                    include_directories : [ipa_includes, libipa_includes],
-                    dependencies : libcamera_private,
-                    link_with : libipa,
+                    include_directories : [ipa_includes],
+                    dependencies : [libcamera_private, libipa_dep],
                     install : true,
                     install_dir : ipa_install_dir)
 
diff --git a/src/ipa/vimc/meson.build b/src/ipa/vimc/meson.build
index 264a2d9a8964..d0b63eddd5f6 100644
--- a/src/ipa/vimc/meson.build
+++ b/src/ipa/vimc/meson.build
@@ -5,9 +5,8 @@ ipa_name = 'ipa_vimc'
 mod = shared_module(ipa_name,
                     ['vimc.cpp', libcamera_generated_ipa_headers],
                     name_prefix : '',
-                    include_directories : [ipa_includes, libipa_includes],
-                    dependencies : libcamera_private,
-                    link_with : libipa,
+                    include_directories : [ipa_includes],
+                    dependencies : [libcamera_private, libipa_dep],
                     install : true,
                     install_dir : ipa_install_dir)
 
diff --git a/test/ipa/meson.build b/test/ipa/meson.build
index dc956284c4b1..fe21ca58b64f 100644
--- a/test/ipa/meson.build
+++ b/test/ipa/meson.build
@@ -9,9 +9,9 @@ ipa_test = [
 
 foreach test : ipa_test
     exe = executable(test['name'], test['sources'], libcamera_generated_ipa_headers,
-                     dependencies : libcamera_private,
-                     link_with : [libipa, test_libraries],
-                     include_directories : [libipa_includes, test_includes_internal])
+                     dependencies : [libcamera_private, libipa_dep],
+                     link_with : [test_libraries],
+                     include_directories : [test_includes_internal])
 
     test(test['name'], exe, suite : 'ipa')
 endforeach
diff --git a/test/ipa/rkisp1/meson.build b/test/ipa/rkisp1/meson.build
index 5ffc5dd607b6..5b08e2939ce6 100644
--- a/test/ipa/rkisp1/meson.build
+++ b/test/ipa/rkisp1/meson.build
@@ -6,9 +6,9 @@ rkisp1_ipa_test = [
 
 foreach test : rkisp1_ipa_test
     exe = executable(test['name'], test['sources'], libcamera_generated_ipa_headers,
-                     dependencies : libcamera_private,
-                     link_with : [libipa, test_libraries],
-                     include_directories : [libipa_includes, test_includes_internal,
+                     dependencies : [libcamera_private, libipa_dep],
+                     link_with : [test_libraries],
+                     include_directories : [test_includes_internal,
                                             '../../../src/ipa/rkisp1/'])
 
     test(test['name'], exe, suite : 'ipa')

base-commit: f3caea0ff7e63b529c9464f911162aa457e9b858
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list