From 86eaa6c5e10dde632f17b900ea0e3aa4d61cb3b3 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Tue, 15 Jun 2021 15:23:09 +0100 Subject: 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 Reviewed-by: Hirokazu Honda Reviewed-by: Laurent Pinchart Signed-off-by: Kieran Bingham --- src/libcamera/base/meson.build | 26 ++++++++++++++++++++++++++ src/libcamera/meson.build | 4 ++++ 2 files changed, 30 insertions(+) create mode 100644 src/libcamera/base/meson.build (limited to 'src/libcamera') 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') -- cgit v1.2.1