[libcamera-devel,RFC,v2,7/7] libcamera: ipa: meson: build dummy IPA that needs isolation

Message ID 20190703080007.21376-8-paul.elder@ideasonboard.com
State Superseded
Headers show
Series
  • Add IPA process isolation
Related show

Commit Message

Paul Elder July 3, 2019, 8 a.m. UTC
Add the dummy IPA that needs isolation to meson. At the same time, clean
up the IPA meson to facilitate adding more IPAs.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
Changes in v2:
- make a sub install directory for IPAs, to keep them separate from the
  proxies
- remove shim compilation

 src/ipa/meson.build | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

Comments

Laurent Pinchart July 3, 2019, 10:33 p.m. UTC | #1
Hi Paul,

Thank you for the patch.

On Wed, Jul 03, 2019 at 05:00:07PM +0900, Paul Elder wrote:
> Add the dummy IPA that needs isolation to meson. At the same time, clean
> up the IPA meson to facilitate adding more IPAs.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
> Changes in v2:
> - make a sub install directory for IPAs, to keep them separate from the
>   proxies

If proxy workers are moved to libexecdir this won't be needed anymore.

> - remove shim compilation
> 
>  src/ipa/meson.build | 23 +++++++++++++----------
>  1 file changed, 13 insertions(+), 10 deletions(-)
> 
> diff --git a/src/ipa/meson.build b/src/ipa/meson.build
> index 3c33a37..1558002 100644
> --- a/src/ipa/meson.build
> +++ b/src/ipa/meson.build
> @@ -1,15 +1,18 @@
> -ipa_dummy_sources = files([
> -    'ipa_dummy.cpp',
> -])
> +ipa_dummy_sources = [
> +    ['ipa_dummy', 'ipa_dummy.cpp'],
> +    ['ipa_dummy_isolate', 'ipa_dummy_isolate.cpp'],
> +]
>  
> -ipa_install_dir = join_paths(get_option('libdir'), 'libcamera')
> +ipa_install_dir = join_paths(get_option('libdir'), 'libcamera', 'ipa')
>  
> -ipa_dummy = shared_library('ipa_dummy',
> -                           ipa_dummy_sources,
> -                           name_prefix : '',
> -                           include_directories : libcamera_includes,
> -                           install : true,
> -                           install_dir : ipa_install_dir)
> +foreach t : ipa_dummy_sources
> +    ipa = shared_module(t[0],
> +                        t[1],
> +                        name_prefix : '',
> +                        include_directories : libcamera_includes,
> +                        install : true,
> +                        install_dir : ipa_install_dir)
> +endforeach
>  
>  config_h.set('IPA_MODULE_DIR',
>               '"' + join_paths(get_option('prefix'), ipa_install_dir) + '"')

Patch

diff --git a/src/ipa/meson.build b/src/ipa/meson.build
index 3c33a37..1558002 100644
--- a/src/ipa/meson.build
+++ b/src/ipa/meson.build
@@ -1,15 +1,18 @@ 
-ipa_dummy_sources = files([
-    'ipa_dummy.cpp',
-])
+ipa_dummy_sources = [
+    ['ipa_dummy', 'ipa_dummy.cpp'],
+    ['ipa_dummy_isolate', 'ipa_dummy_isolate.cpp'],
+]
 
-ipa_install_dir = join_paths(get_option('libdir'), 'libcamera')
+ipa_install_dir = join_paths(get_option('libdir'), 'libcamera', 'ipa')
 
-ipa_dummy = shared_library('ipa_dummy',
-                           ipa_dummy_sources,
-                           name_prefix : '',
-                           include_directories : libcamera_includes,
-                           install : true,
-                           install_dir : ipa_install_dir)
+foreach t : ipa_dummy_sources
+    ipa = shared_module(t[0],
+                        t[1],
+                        name_prefix : '',
+                        include_directories : libcamera_includes,
+                        install : true,
+                        install_dir : ipa_install_dir)
+endforeach
 
 config_h.set('IPA_MODULE_DIR',
              '"' + join_paths(get_option('prefix'), ipa_install_dir) + '"')