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>
This commit is contained in:
parent
b96ab21cdb
commit
86eaa6c5e1
5 changed files with 42 additions and 0 deletions
|
@ -22,6 +22,8 @@ if doxygen.found() and dot.found()
|
|||
custom_target('doxygen',
|
||||
input : [
|
||||
doxyfile,
|
||||
libcamera_base_headers,
|
||||
libcamera_base_sources,
|
||||
libcamera_internal_headers,
|
||||
libcamera_ipa_headers,
|
||||
libcamera_ipa_interfaces,
|
||||
|
|
9
include/libcamera/base/meson.build
Normal file
9
include/libcamera/base/meson.build
Normal file
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
libcamera_base_include_dir = libcamera_include_dir / 'base'
|
||||
|
||||
libcamera_base_headers = files([
|
||||
])
|
||||
|
||||
install_headers(libcamera_base_headers,
|
||||
subdir: libcamera_base_include_dir)
|
|
@ -23,6 +23,7 @@ libcamera_public_headers = files([
|
|||
|
||||
include_dir = libcamera_include_dir / 'libcamera'
|
||||
|
||||
subdir('base')
|
||||
subdir('internal')
|
||||
subdir('ipa')
|
||||
|
||||
|
|
26
src/libcamera/base/meson.build
Normal file
26
src/libcamera/base/meson.build
Normal file
|
@ -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')
|
|
@ -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')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue