diff options
author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2021-06-15 15:23:09 +0100 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2021-06-25 16:10:58 +0100 |
commit | 86eaa6c5e10dde632f17b900ea0e3aa4d61cb3b3 (patch) | |
tree | 3a3734822d82720e928f42296dd6b023e7ad3fd2 /src | |
parent | b96ab21cdbf49eef43c428b6e13b6e32bfb28f87 (diff) |
libcamera/base: Introduce new base library
The libcamera-base.so will feature internal support functionality
that is utilised by libcamera, and can be shared in other places.
This new library provides a layer beneath libcamera which provides
common abstractions to internal objects.
A pkg-config file is generated and named libcamera-base.pc which allows
components such as external IPA modules to link directly to this library
if they need. Normal applications will reference this library through
the Requires: statement provided by the libcamera.pc package
configuration, and linkage will be handled automatically through the
pkg-config mechanisms.
No code is moved to this library yet, this patch only introduces the
framework, construction and linkage.
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/libcamera/base/meson.build | 26 | ||||
-rw-r--r-- | src/libcamera/meson.build | 4 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build new file mode 100644 index 00000000..e8384602 --- /dev/null +++ b/src/libcamera/base/meson.build @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: CC0-1.0 + +libcamera_base_sources = files([ +]) + +libcamera_base_deps = [ +] + +libcamera_base_lib = shared_library('libcamera-base', + [libcamera_base_sources, libcamera_base_headers], + name_prefix : '', + install : true, + include_directories : libcamera_includes, + dependencies : libcamera_base_deps) + +libcamera_base = declare_dependency(sources : [ + libcamera_base_headers, + ], + include_directories : libcamera_includes, + link_with : libcamera_base_lib) + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libcamera_base_lib, + version : '1.0', + description : 'Camera support base utility library', + subdirs : 'libcamera') diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index 693008d5..655c0c16 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -67,6 +67,7 @@ includes = [ libcamera_includes, ] +subdir('base') subdir('ipa') subdir('pipeline') subdir('proxy') @@ -124,6 +125,7 @@ endif libcamera_deps = [ libatomic, + libcamera_base, libdl, libgnutls, liblttng, @@ -156,10 +158,12 @@ libcamera_dep = declare_dependency(sources : [ libcamera_generated_ipa_headers, ], include_directories : libcamera_includes, + dependencies: libcamera_base, link_with : libcamera) pkg_mod = import('pkgconfig') pkg_mod.generate(libcamera, + libraries : libcamera_base_lib, version : '1.0', description : 'Complex Camera Support Library', subdirs : 'libcamera') |