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

Kieran Bingham kieran.bingham at ideasonboard.com
Thu Feb 20 17:56:58 CET 2020


This series has been a real pain (more than it should have been).

This is posted as v3, even though I didn't post v2, as it's the third complete
rewrite of the implementation, where v2 was abandoned before posting.

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 a means for the library to detect if it has been installed or not, and
if not - generate a relative path from the libcamera.so to locate IPAs to parse
and load before searching the system paths.

Specifying a LIBCAMERA_IPA_MODULE_PATH will take precedence over both the
system path and the build path.

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 (6):
  libcamera: utils: Add an internal dirname helper
  libcamera: ipa_manager: Split path handling
  libcamera: ipa_manager: Allow recursive parsing
  libcamera: ipa_manager: Re-arrange IPA precedence
  libcamera: ipa_manager: Search for IPA libraries in build tree
  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       | 160 +++++++++++++++++++++++-----
 src/libcamera/meson.build           |   6 ++
 src/libcamera/utils.cpp             |  17 +++
 test/libtest/test.cpp               |   4 -
 6 files changed, 159 insertions(+), 34 deletions(-)

-- 
2.20.1



More information about the libcamera-devel mailing list