[libcamera-devel] [PATCH 0/5] Support loading IPAs from the build tree

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Feb 5 14:04:15 CET 2020


When developing and testing libcamera, the usual development model is to
compile and run one of the test or utility applications.

IPA modules are loaded by the IPAManager, from a system path, or by parsing an
environment variable.

Provide the build path to the library through a temporary storage in the
runpath of the ELF library strings table.  This entry is stripped at install
time, but allows us to identify the location of the recently compiled IPA
modules without the user having to manually declare paths to the build system.

Previously to this series the IPA tests would only be able to be run from the
root of the build tree, due to the hardcoded path relative to that point. Now
that the IPAs can be found from their build location, we no longer need to
provide this hardcoded path through the LIBCAMERA_IPA_MODULE_PATH for tests,
and as a further consequence they can be run directly without requiring the
launch to be run from the top level of the build tree.

Kieran Bingham (5):
  libcamera: utils: Provide helper to get dynamic library runpath
  libcamera: ipa_manager: Split path handling
  libcamera: ipa_manager: Allow recursive parsing
  libcamera: ipa_manager: Search the runpath for IPA libraries
  tests: Remove IPA_MODULE_PATH environment variable

 src/libcamera/include/ipa_manager.h |   5 +-
 src/libcamera/include/utils.h       |   1 +
 src/libcamera/ipa_manager.cpp       | 111 ++++++++++++++++++++++------
 src/libcamera/meson.build           |   1 +
 src/libcamera/utils.cpp             |  26 +++++++
 src/meson.build                     |   7 ++
 test/libtest/test.cpp               |   4 -
 7 files changed, 126 insertions(+), 29 deletions(-)

-- 
2.20.1



More information about the libcamera-devel mailing list