[PATCH v5 00/18] Split libcamera documentation in public and internal APIs
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Aug 5 16:36:36 CEST 2024
Hello,
This series aims to improve the libcamera API documentation a little by adding
some content to the landing page and splitting it to two separate outputs for
the library's users and developers. The "public" run, intended for users, is a
much abridged version that only documents those objects intended to be used by
application developers.
The split is achieved by collecting file paths for public sources in meson and
passing them to a generated Doxyfile-public, which is used for the "public" run
of Doxygen. A second Doxyfile-internal retains the current behaviour for the
internal API run.
Compared to v4, I've tried to address some small issues I wasn't fully
satisfied with. This has resulted in a further 14 patches. This seems to
happen sometimes when I touch code, I apologize about it. On the upside,
the additional patches are small, and should therefore be easy to
review.
Patches 06/18 and 16/18, originally from Dan, have been significantly
modified. As a consequence, I've dropped the Reviewed-by tags. I haven't
touched Dan's patches 14/18 and 17/18, they are identifical to v4.
Daniel Scally (4):
libcamera: Split public and internal source arrays
Documentation: Add Thread support page
Documentation: Split public/private documentation
Documentation: Improve doxygen main page
Laurent Pinchart (14):
libcamera: Drop path prefix from Doxygen file directive
libcamera: Make all internal headers visible to Doxygen
libcamera: Unify Doxygen file directive prefix for formats.h
libcamera: Mark internal parts of public classes with \internal
libcamera: Hide *::Private classes with __DOXYGEN_PUBLIC__
libcamera: Add version.h to public headers
libcamera: Drop libcamera_generated_ipa_headers from sources
libcamera: Move IPA headers to the libcamera_private dependency
libcamera: Consolidate all IPA headers in libcamera_ipa_headers
libcamera: Add missing headers to libcamera_internal_headers
libcamera: Consolidate tracepoint header in libcamera_internal_headers
libcamera: Don't add libcamera_public_headers to
libcamera_public_sources
Documentation: Split doxygen_input in public and internal inputs
libcamera: camera: Hide Camera::create() from the public API
.../{Doxyfile.in => Doxyfile-common.in} | 23 +---
Documentation/Doxyfile-internal.in | 31 +++++
Documentation/Doxyfile-public.in | 20 +++
Documentation/gen-doxyfile.py | 46 +++++++
Documentation/guides/pipeline-handler.rst | 5 +-
Documentation/mainpage.dox | 33 +++++
Documentation/meson.build | 91 +++++++++++--
Documentation/thread.dox | 122 +++++++++++++++++
include/libcamera/internal/meson.build | 18 ++-
include/libcamera/ipa/meson.build | 8 +-
include/libcamera/meson.build | 9 +-
src/ipa/ipu3/meson.build | 3 +-
src/ipa/rkisp1/meson.build | 3 +-
src/ipa/rpi/vc4/meson.build | 3 +-
src/ipa/simple/meson.build | 3 +-
src/ipa/vimc/meson.build | 3 +-
src/libcamera/base/meson.build | 25 ++--
src/libcamera/base/thread.cpp | 123 ------------------
src/libcamera/camera.cpp | 9 ++
src/libcamera/camera_manager.cpp | 3 +
src/libcamera/converter.cpp | 2 +-
.../converter/converter_v4l2_m2m.cpp | 2 +-
src/libcamera/converter/meson.build | 2 +-
src/libcamera/fence.cpp | 2 +-
src/libcamera/formats.cpp | 2 +-
src/libcamera/framebuffer.cpp | 7 +-
src/libcamera/mapped_framebuffer.cpp | 2 +-
src/libcamera/meson.build | 56 ++++----
src/libcamera/orientation.cpp | 2 +-
src/libcamera/pipeline/imx8-isi/meson.build | 2 +-
src/libcamera/pipeline/ipu3/meson.build | 2 +-
src/libcamera/pipeline/mali-c55/meson.build | 2 +-
src/libcamera/pipeline/rkisp1/meson.build | 2 +-
src/libcamera/pipeline/rpi/common/meson.build | 2 +-
src/libcamera/pipeline/rpi/vc4/meson.build | 2 +-
src/libcamera/pipeline/simple/meson.build | 2 +-
src/libcamera/pipeline/uvcvideo/meson.build | 2 +-
src/libcamera/pipeline/vimc/meson.build | 2 +-
src/libcamera/proxy/meson.build | 2 +-
src/libcamera/proxy/worker/meson.build | 3 +-
src/libcamera/request.cpp | 8 ++
src/libcamera/sensor/meson.build | 2 +-
src/libcamera/software_isp/meson.build | 2 +-
src/libcamera/yaml_parser.cpp | 2 +-
test/ipa/meson.build | 2 +-
test/ipa/rkisp1/meson.build | 2 +-
46 files changed, 454 insertions(+), 245 deletions(-)
rename Documentation/{Doxyfile.in => Doxyfile-common.in} (63%)
create mode 100644 Documentation/Doxyfile-internal.in
create mode 100644 Documentation/Doxyfile-public.in
create mode 100755 Documentation/gen-doxyfile.py
create mode 100644 Documentation/mainpage.dox
create mode 100644 Documentation/thread.dox
base-commit: 19bbca3c0b376ba0183f5db53472c8c46cd402b5
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list