{"id":20254,"url":"https://patchwork.libcamera.org/api/patches/20254/?format=json","web_url":"https://patchwork.libcamera.org/patch/20254/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240611124205.18093-1-laurent.pinchart@ideasonboard.com>","date":"2024-06-11T12:42:05","name":"meson: Group libipa and libipa_includes in a dependency object","commit_ref":"f305cacc9c442358acd2c604817206cf7eeaabe0","pull_url":null,"state":"accepted","archived":false,"hash":"f0979631309cbc9d56418d72dd373f0e03d8b8b0","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/20254/mbox/","series":[{"id":4381,"url":"https://patchwork.libcamera.org/api/series/4381/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4381","date":"2024-06-11T12:42:05","name":"meson: Group libipa and libipa_includes in a dependency object","version":1,"mbox":"https://patchwork.libcamera.org/series/4381/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/20254/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/20254/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id F14BFC31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 11 Jun 2024 12:42:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C01B065456;\n\tTue, 11 Jun 2024 14:42:25 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2AB6961A26\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 11 Jun 2024 14:42:25 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 68C557E0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 11 Jun 2024 14:42:12 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"t9M+mzCx\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1718109732;\n\tbh=WDlprtkHR7r8yy0SLjLAzG8e1x/IUerzty+aHYeiITk=;\n\th=From:To:Subject:Date:From;\n\tb=t9M+mzCxvwQwsRb+ycSw3jm/3MG7J58hrvg2bt2aFO0T8mYAMXRbMUBuyWAWidsE2\n\tVPu/oW2ib1Dv1ex9z5DIXT9zgO2NIow8pyPNYNbCvQgBGk9oLd4+LcbHYpf7nDh4SH\n\t1GZR9Q8cvHHbJV0OHFnI05DS190A/KcOma/Ux9Dg=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[PATCH] meson: Group libipa and libipa_includes in a dependency\n\tobject","Date":"Tue, 11 Jun 2024 15:42:05 +0300","Message-ID":"<20240611124205.18093-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.44.2","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Many build targets link with libipa and need libipa_includes. Group them\nin a libipa_dep dependency object to simplify the users.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/ipa/ipu3/meson.build    | 5 ++---\n src/ipa/libipa/meson.build  | 4 ++++\n src/ipa/rkisp1/meson.build  | 5 ++---\n src/ipa/rpi/vc4/meson.build | 4 +---\n src/ipa/simple/meson.build  | 5 ++---\n src/ipa/vimc/meson.build    | 5 ++---\n test/ipa/meson.build        | 6 +++---\n test/ipa/rkisp1/meson.build | 6 +++---\n 8 files changed, 19 insertions(+), 21 deletions(-)\n\n\nbase-commit: f3caea0ff7e63b529c9464f911162aa457e9b858","diff":"diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build\nindex 66c398432d43..e76f97c07c87 100644\n--- a/src/ipa/ipu3/meson.build\n+++ b/src/ipa/ipu3/meson.build\n@@ -15,9 +15,8 @@ ipu3_ipa_sources += ipu3_ipa_algorithms\n mod = shared_module(ipa_name,\n                     [ipu3_ipa_sources, libcamera_generated_ipa_headers],\n                     name_prefix : '',\n-                    include_directories : [ipa_includes, libipa_includes],\n-                    dependencies : libcamera_private,\n-                    link_with : libipa,\n+                    include_directories : [ipa_includes],\n+                    dependencies : [libcamera_private, libipa_dep],\n                     install : true,\n                     install_dir : ipa_install_dir)\n \ndiff --git a/src/ipa/libipa/meson.build b/src/ipa/libipa/meson.build\nindex 8ec9c7847348..7f038c90cd87 100644\n--- a/src/ipa/libipa/meson.build\n+++ b/src/ipa/libipa/meson.build\n@@ -27,3 +27,7 @@ libipa_includes = include_directories('..')\n libipa = static_library('ipa', [libipa_sources, libipa_headers],\n                         include_directories : ipa_includes,\n                         dependencies : libcamera_private)\n+\n+libipa_dep = declare_dependency(sources : libipa_headers,\n+                                include_directories : libipa_includes,\n+                                link_with : libipa)\ndiff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build\nindex cf05cdb27943..e8b266f1ccca 100644\n--- a/src/ipa/rkisp1/meson.build\n+++ b/src/ipa/rkisp1/meson.build\n@@ -16,9 +16,8 @@ rkisp1_ipa_sources += rkisp1_ipa_algorithms\n mod = shared_module(ipa_name,\n                     [rkisp1_ipa_sources, libcamera_generated_ipa_headers],\n                     name_prefix : '',\n-                    include_directories : [ipa_includes, libipa_includes],\n-                    dependencies : libcamera_private,\n-                    link_with : libipa,\n+                    include_directories : [ipa_includes],\n+                    dependencies : [libcamera_private, libipa_dep],\n                     install : true,\n                     install_dir : ipa_install_dir)\n \ndiff --git a/src/ipa/rpi/vc4/meson.build b/src/ipa/rpi/vc4/meson.build\nindex 590e9197756d..63fc5925b06c 100644\n--- a/src/ipa/rpi/vc4/meson.build\n+++ b/src/ipa/rpi/vc4/meson.build\n@@ -15,7 +15,6 @@ vc4_ipa_libs = [\n \n vc4_ipa_includes = [\n     ipa_includes,\n-    libipa_includes,\n ]\n \n vc4_ipa_sources = files([\n@@ -28,8 +27,7 @@ mod = shared_module(ipa_name,\n                     [vc4_ipa_sources, libcamera_generated_ipa_headers],\n                     name_prefix : '',\n                     include_directories : vc4_ipa_includes,\n-                    dependencies : vc4_ipa_deps,\n-                    link_with : libipa,\n+                    dependencies : [vc4_ipa_deps, libipa_dep],\n                     link_whole : vc4_ipa_libs,\n                     install : true,\n                     install_dir : ipa_install_dir)\ndiff --git a/src/ipa/simple/meson.build b/src/ipa/simple/meson.build\nindex 44b5f1d70cd3..33d1c96aa4f2 100644\n--- a/src/ipa/simple/meson.build\n+++ b/src/ipa/simple/meson.build\n@@ -10,9 +10,8 @@ soft_simple_sources = files([\n mod = shared_module(ipa_name,\n                     [soft_simple_sources, libcamera_generated_ipa_headers],\n                     name_prefix : '',\n-                    include_directories : [ipa_includes, libipa_includes],\n-                    dependencies : libcamera_private,\n-                    link_with : libipa,\n+                    include_directories : [ipa_includes],\n+                    dependencies : [libcamera_private, libipa_dep],\n                     install : true,\n                     install_dir : ipa_install_dir)\n \ndiff --git a/src/ipa/vimc/meson.build b/src/ipa/vimc/meson.build\nindex 264a2d9a8964..d0b63eddd5f6 100644\n--- a/src/ipa/vimc/meson.build\n+++ b/src/ipa/vimc/meson.build\n@@ -5,9 +5,8 @@ ipa_name = 'ipa_vimc'\n mod = shared_module(ipa_name,\n                     ['vimc.cpp', libcamera_generated_ipa_headers],\n                     name_prefix : '',\n-                    include_directories : [ipa_includes, libipa_includes],\n-                    dependencies : libcamera_private,\n-                    link_with : libipa,\n+                    include_directories : [ipa_includes],\n+                    dependencies : [libcamera_private, libipa_dep],\n                     install : true,\n                     install_dir : ipa_install_dir)\n \ndiff --git a/test/ipa/meson.build b/test/ipa/meson.build\nindex dc956284c4b1..fe21ca58b64f 100644\n--- a/test/ipa/meson.build\n+++ b/test/ipa/meson.build\n@@ -9,9 +9,9 @@ ipa_test = [\n \n foreach test : ipa_test\n     exe = executable(test['name'], test['sources'], libcamera_generated_ipa_headers,\n-                     dependencies : libcamera_private,\n-                     link_with : [libipa, test_libraries],\n-                     include_directories : [libipa_includes, test_includes_internal])\n+                     dependencies : [libcamera_private, libipa_dep],\n+                     link_with : [test_libraries],\n+                     include_directories : [test_includes_internal])\n \n     test(test['name'], exe, suite : 'ipa')\n endforeach\ndiff --git a/test/ipa/rkisp1/meson.build b/test/ipa/rkisp1/meson.build\nindex 5ffc5dd607b6..5b08e2939ce6 100644\n--- a/test/ipa/rkisp1/meson.build\n+++ b/test/ipa/rkisp1/meson.build\n@@ -6,9 +6,9 @@ rkisp1_ipa_test = [\n \n foreach test : rkisp1_ipa_test\n     exe = executable(test['name'], test['sources'], libcamera_generated_ipa_headers,\n-                     dependencies : libcamera_private,\n-                     link_with : [libipa, test_libraries],\n-                     include_directories : [libipa_includes, test_includes_internal,\n+                     dependencies : [libcamera_private, libipa_dep],\n+                     link_with : [test_libraries],\n+                     include_directories : [test_includes_internal,\n                                             '../../../src/ipa/rkisp1/'])\n \n     test(test['name'], exe, suite : 'ipa')\n","prefixes":[]}