[{"id":4828,"web_url":"https://patchwork.libcamera.org/comment/4828/","msgid":"<20200515164952.d6euopyfjxxpktbb@uno.localdomain>","date":"2020-05-15T16:49:52","subject":"Re: [libcamera-devel] [PATCH v2 1/3] libcamera: Move internal\n\theaders to include/libcamera/internal/","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent,\n  thansk for the effort\n\nOn Fri, May 15, 2020 at 07:35:02PM +0300, Laurent Pinchart wrote:\n> The libcamera internal headers are located in src/libcamera/include/.\n> The directory is added to the compiler headers search path with a meson\n> include_directories() directive, and internal headers are included with\n> (e.g. for the internal semaphore.h header)\n>\n>   #include \"semaphore.h\"\n>\n> All was well, until libcxx decided to implement the C++20\n> synchronization library. The __threading_support header gained a\n>\n>   #include <semaphore.h>\n>\n> to include the pthread's semaphore support. As include_directories()\n> adds src/libcamera/include/ to the compiler search path with -I, the\n> internal semaphore.h is included instead of the pthread version.\n> Needless to say, the compiler isn't happy.\n>\n> Thread options have been considered to fix this issue:\n\nThree ?\n\n>\n> - Use -iquote instead of -I. The -iquote option instructs gcc to only\n>   consider the header search path for headers included with the \"\"\n>   version. Meson unfortunately doesn't support this option.\n>\n> - Rename the internal semaphore.h header. This was deemed to be the\n>   beginning of a long whack-a-mole game, where namespace clashes with\n>   system libraries would appear over time (possibly dependent on\n>   particular system configurations) and would need to be constantly\n>   fixed.\n>\n> - Move the internal headers to another directory to create a unique\n>   namespace through path components. This causes lots of churn in all\n>   the existing source files through the all project.\n>\n> The first option would be best, but isn't available to us due to missing\n> support in meson. Even if -iquote support was added, we would need to\n> fix the problem before a new version of meson containing the required\n> support would be released.\n>\n> The third option is thus the only practical solution available. Bite the\n> bullet, and do it, moving headers to include/libcamera/internal/.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nI like the new location and my comments on v1 do not apply anymore\nhere, so\nAcked-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\n> ---\n>  Documentation/Doxyfile.in                     |  6 +++---\n>  .../libcamera/internal}/byte_stream_buffer.h  |  0\n>  .../libcamera/internal}/camera_controls.h     |  2 +-\n>  .../libcamera/internal}/camera_sensor.h       |  4 ++--\n>  .../libcamera/internal}/control_serializer.h  |  0\n>  .../libcamera/internal}/control_validator.h   |  0\n>  .../libcamera/internal}/device_enumerator.h   |  0\n>  .../internal}/device_enumerator_sysfs.h       |  2 +-\n>  .../internal}/device_enumerator_udev.h        |  2 +-\n>  .../internal}/event_dispatcher_poll.h         |  0\n>  .../libcamera/internal}/file.h                |  0\n>  .../libcamera/internal}/formats.h             |  2 +-\n>  .../libcamera/internal}/ipa_context_wrapper.h |  2 +-\n>  .../libcamera/internal}/ipa_manager.h         |  6 +++---\n>  .../libcamera/internal}/ipa_module.h          |  4 ++--\n>  .../libcamera/internal}/ipa_proxy.h           |  0\n>  .../libcamera/internal}/ipc_unixsocket.h      |  0\n>  .../libcamera/internal}/log.h                 |  2 +-\n>  .../libcamera/internal}/media_device.h        |  4 ++--\n>  .../libcamera/internal}/media_object.h        |  0\n>  .../libcamera/internal}/meson.build           |  0\n>  .../libcamera/internal}/message.h             |  0\n>  .../libcamera/internal}/pipeline_handler.h    |  2 +-\n>  .../libcamera/internal}/process.h             |  0\n>  .../libcamera/internal}/pub_key.h             |  0\n>  .../libcamera/internal}/semaphore.h           |  2 +-\n>  .../libcamera/internal}/thread.h              |  2 +-\n>  .../libcamera/internal}/utils.h               |  0\n>  .../libcamera/internal}/v4l2_controls.h       |  0\n>  .../libcamera/internal}/v4l2_device.h         |  4 ++--\n>  .../libcamera/internal}/v4l2_pixelformat.h    |  0\n>  .../libcamera/internal}/v4l2_subdevice.h      |  8 ++++----\n>  .../libcamera/internal}/v4l2_videodevice.h    |  8 ++++----\n>  include/libcamera/meson.build                 |  2 ++\n>  src/android/camera3_hal.cpp                   |  3 ++-\n>  src/android/camera_device.cpp                 |  4 ++--\n>  src/android/camera_device.h                   |  2 +-\n>  src/android/camera_hal_manager.cpp            |  2 +-\n>  src/android/camera_metadata.cpp               |  2 +-\n>  src/ipa/libipa/ipa_interface_wrapper.cpp      |  4 ++--\n>  src/ipa/libipa/ipa_interface_wrapper.h        |  2 +-\n>  src/ipa/meson.build                           |  1 -\n>  src/ipa/raspberrypi/cam_helper.cpp            |  4 ++--\n>  src/ipa/raspberrypi/cam_helper.hpp            |  2 +-\n>  src/ipa/raspberrypi/raspberrypi.cpp           |  8 ++++----\n>  src/ipa/rkisp1/rkisp1.cpp                     |  4 ++--\n>  src/ipa/vimc/vimc.cpp                         |  4 ++--\n>  src/libcamera/bound_method.cpp                |  6 +++---\n>  src/libcamera/buffer.cpp                      |  2 +-\n>  src/libcamera/byte_stream_buffer.cpp          |  4 ++--\n>  src/libcamera/camera.cpp                      |  6 +++---\n>  src/libcamera/camera_controls.cpp             |  2 +-\n>  src/libcamera/camera_manager.cpp              | 12 +++++------\n>  src/libcamera/camera_sensor.cpp               |  8 ++++----\n>  src/libcamera/control_serializer.cpp          |  6 +++---\n>  src/libcamera/control_validator.cpp           |  2 +-\n>  src/libcamera/controls.cpp                    |  6 +++---\n>  src/libcamera/device_enumerator.cpp           | 10 +++++-----\n>  src/libcamera/device_enumerator_sysfs.cpp     |  6 +++---\n>  src/libcamera/device_enumerator_udev.cpp      |  6 +++---\n>  src/libcamera/event_dispatcher.cpp            |  2 +-\n>  src/libcamera/event_dispatcher_poll.cpp       |  8 ++++----\n>  src/libcamera/event_notifier.cpp              |  4 ++--\n>  src/libcamera/file.cpp                        |  4 ++--\n>  src/libcamera/file_descriptor.cpp             |  2 +-\n>  src/libcamera/formats.cpp                     |  4 ++--\n>  src/libcamera/framebuffer_allocator.cpp       |  4 ++--\n>  src/libcamera/ipa_context_wrapper.cpp         |  8 ++++----\n>  src/libcamera/ipa_manager.cpp                 | 14 ++++++-------\n>  src/libcamera/ipa_module.cpp                  | 10 +++++-----\n>  src/libcamera/ipa_proxy.cpp                   |  8 ++++----\n>  src/libcamera/ipa_pub_key.cpp.in              |  2 +-\n>  src/libcamera/ipc_unixsocket.cpp              |  4 ++--\n>  src/libcamera/log.cpp                         |  6 +++---\n>  src/libcamera/media_device.cpp                |  4 ++--\n>  src/libcamera/media_object.cpp                |  6 +++---\n>  src/libcamera/meson.build                     |  5 -----\n>  src/libcamera/message.cpp                     |  4 ++--\n>  src/libcamera/object.cpp                      | 10 +++++-----\n>  src/libcamera/pipeline/ipu3/ipu3.cpp          | 18 ++++++++---------\n>  .../pipeline/raspberrypi/raspberrypi.cpp      | 17 ++++++++--------\n>  .../pipeline/raspberrypi/staggered_ctrl.cpp   |  6 +++---\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 19 +++++++++---------\n>  src/libcamera/pipeline/rkisp1/timeline.cpp    |  2 +-\n>  src/libcamera/pipeline/rkisp1/timeline.h      |  2 +-\n>  src/libcamera/pipeline/simple/converter.cpp   |  6 +++---\n>  src/libcamera/pipeline/simple/simple.cpp      | 14 ++++++-------\n>  src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  | 14 ++++++-------\n>  src/libcamera/pipeline/vimc/vimc.cpp          | 20 +++++++++----------\n>  src/libcamera/pipeline_handler.cpp            | 10 +++++-----\n>  src/libcamera/process.cpp                     |  6 +++---\n>  src/libcamera/proxy/ipa_proxy_linux.cpp       | 10 +++++-----\n>  src/libcamera/proxy/ipa_proxy_thread.cpp      | 10 +++++-----\n>  .../proxy/worker/ipa_proxy_linux_worker.cpp   |  8 ++++----\n>  src/libcamera/proxy/worker/meson.build        |  1 -\n>  src/libcamera/pub_key.cpp                     |  2 +-\n>  src/libcamera/request.cpp                     |  4 ++--\n>  src/libcamera/semaphore.cpp                   |  4 ++--\n>  src/libcamera/signal.cpp                      |  2 +-\n>  src/libcamera/stream.cpp                      |  4 ++--\n>  src/libcamera/thread.cpp                      |  8 ++++----\n>  src/libcamera/timer.cpp                       |  8 ++++----\n>  src/libcamera/utils.cpp                       |  2 +-\n>  src/libcamera/v4l2_controls.cpp               |  2 +-\n>  src/libcamera/v4l2_device.cpp                 |  8 ++++----\n>  src/libcamera/v4l2_pixelformat.cpp            |  6 +++---\n>  src/libcamera/v4l2_subdevice.cpp              | 10 +++++-----\n>  src/libcamera/v4l2_videodevice.cpp            | 10 +++++-----\n>  src/v4l2/meson.build                          |  1 -\n>  src/v4l2/v4l2_camera.cpp                      |  2 +-\n>  src/v4l2/v4l2_camera.h                        |  2 +-\n>  src/v4l2/v4l2_camera_proxy.cpp                |  5 +++--\n>  src/v4l2/v4l2_compat_manager.cpp              |  2 +-\n>  test/byte-stream-buffer.cpp                   |  3 ++-\n>  test/camera-sensor.cpp                        | 10 +++++-----\n>  test/camera/buffer_import.cpp                 |  6 +++---\n>  test/controls/control_info_map.cpp            |  2 +-\n>  test/controls/control_list.cpp                |  2 +-\n>  test/event-dispatcher.cpp                     |  3 ++-\n>  test/event-thread.cpp                         |  3 ++-\n>  test/event.cpp                                |  3 ++-\n>  test/file-descriptor.cpp                      |  3 ++-\n>  test/file.cpp                                 |  3 ++-\n>  test/ipa/ipa_interface_test.cpp               | 11 +++++-----\n>  test/ipa/ipa_module_test.cpp                  |  2 +-\n>  test/ipa/ipa_wrappers_test.cpp                | 10 +++++-----\n>  test/ipc/unixsocket.cpp                       |  7 ++++---\n>  test/libtest/buffer_source.cpp                |  2 +-\n>  test/libtest/buffer_source.h                  |  4 ++--\n>  test/libtest/meson.build                      |  1 -\n>  test/log/log_api.cpp                          |  3 ++-\n>  test/log/log_process.cpp                      |  9 +++++----\n>  test/media_device/media_device_print_test.cpp |  2 +-\n>  test/media_device/media_device_test.h         |  4 ++--\n>  test/message.cpp                              |  5 +++--\n>  test/object-invoke.cpp                        |  3 ++-\n>  test/object.cpp                               |  4 ++--\n>  test/pipeline/ipu3/ipu3_pipeline_test.cpp     |  7 ++++---\n>  test/pipeline/rkisp1/rkisp1_pipeline_test.cpp |  7 ++++---\n>  test/process/process_test.cpp                 |  7 ++++---\n>  test/serialization/control_serialization.cpp  |  5 +++--\n>  test/signal-threads.cpp                       |  7 ++++---\n>  test/threads.cpp                              |  3 ++-\n>  test/timer-thread.cpp                         |  3 ++-\n>  test/timer.cpp                                |  3 ++-\n>  test/utils.cpp                                |  3 ++-\n>  test/v4l2_subdevice/list_formats.cpp          |  3 ++-\n>  test/v4l2_subdevice/test_formats.cpp          |  3 ++-\n>  test/v4l2_subdevice/v4l2_subdevice_test.cpp   |  7 ++++---\n>  test/v4l2_subdevice/v4l2_subdevice_test.h     |  7 ++++---\n>  test/v4l2_videodevice/buffer_sharing.cpp      |  3 ++-\n>  test/v4l2_videodevice/capture_async.cpp       |  3 ++-\n>  test/v4l2_videodevice/controls.cpp            |  2 +-\n>  test/v4l2_videodevice/formats.cpp             |  4 ++--\n>  test/v4l2_videodevice/v4l2_m2mdevice.cpp      |  8 ++++----\n>  .../v4l2_videodevice_test.cpp                 |  6 +++---\n>  test/v4l2_videodevice/v4l2_videodevice_test.h | 12 +++++------\n>  157 files changed, 384 insertions(+), 360 deletions(-)\n>  rename {src/libcamera/include => include/libcamera/internal}/byte_stream_buffer.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/camera_controls.h (91%)\n>  rename {src/libcamera/include => include/libcamera/internal}/camera_sensor.h (96%)\n>  rename {src/libcamera/include => include/libcamera/internal}/control_serializer.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/control_validator.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/device_enumerator.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/device_enumerator_sysfs.h (92%)\n>  rename {src/libcamera/include => include/libcamera/internal}/device_enumerator_udev.h (96%)\n>  rename {src/libcamera/include => include/libcamera/internal}/event_dispatcher_poll.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/file.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/formats.h (96%)\n>  rename {src/libcamera/include => include/libcamera/internal}/ipa_context_wrapper.h (96%)\n>  rename {src/libcamera/include => include/libcamera/internal}/ipa_manager.h (88%)\n>  rename {src/libcamera/include => include/libcamera/internal}/ipa_module.h (93%)\n>  rename {src/libcamera/include => include/libcamera/internal}/ipa_proxy.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/ipc_unixsocket.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/log.h (98%)\n>  rename {src/libcamera/include => include/libcamera/internal}/media_device.h (96%)\n>  rename {src/libcamera/include => include/libcamera/internal}/media_object.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/meson.build (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/message.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/pipeline_handler.h (98%)\n>  rename {src/libcamera/include => include/libcamera/internal}/process.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/pub_key.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/semaphore.h (94%)\n>  rename {src/libcamera/include => include/libcamera/internal}/thread.h (97%)\n>  rename {src/libcamera/include => include/libcamera/internal}/utils.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_controls.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_device.h (94%)\n>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_pixelformat.h (100%)\n>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_subdevice.h (90%)\n>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_videodevice.h (97%)\n>\n> diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in\n> index 86bcc4d00f88..c3fe5f663f7c 100644\n> --- a/Documentation/Doxyfile.in\n> +++ b/Documentation/Doxyfile.in\n> @@ -842,10 +842,10 @@ RECURSIVE              = YES\n>  # run.\n>\n>  EXCLUDE                = @TOP_SRCDIR@/include/libcamera/span.h \\\n> +\t\t\t @TOP_SRCDIR@/include/libcamera/internal/device_enumerator_sysfs.h \\\n> +\t\t\t @TOP_SRCDIR@/include/libcamera/internal/device_enumerator_udev.h \\\n>  \t\t\t @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \\\n>  \t\t\t @TOP_SRCDIR@/src/libcamera/device_enumerator_udev.cpp \\\n> -\t\t\t @TOP_SRCDIR@/src/libcamera/include/device_enumerator_sysfs.h \\\n> -\t\t\t @TOP_SRCDIR@/src/libcamera/include/device_enumerator_udev.h \\\n>  \t\t\t @TOP_SRCDIR@/src/libcamera/pipeline/ \\\n>  \t\t\t @TOP_SRCDIR@/src/libcamera/proxy/\n>\n> @@ -2053,7 +2053,7 @@ SEARCH_INCLUDES        = YES\n>  # preprocessor.\n>  # This tag requires that the tag SEARCH_INCLUDES is set to YES.\n>\n> -INCLUDE_PATH           = \"@TOP_SRCDIR@/include/libcamera\" \"@TOP_SRCDIR@/src/libcamera/include\"\n> +INCLUDE_PATH           = \"@TOP_SRCDIR@/include/libcamera\"\n>\n>  # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard\n>  # patterns (like *.h and *.hpp) to filter out the header-files in the\n> diff --git a/src/libcamera/include/byte_stream_buffer.h b/include/libcamera/internal/byte_stream_buffer.h\n> similarity index 100%\n> rename from src/libcamera/include/byte_stream_buffer.h\n> rename to include/libcamera/internal/byte_stream_buffer.h\n> diff --git a/src/libcamera/include/camera_controls.h b/include/libcamera/internal/camera_controls.h\n> similarity index 91%\n> rename from src/libcamera/include/camera_controls.h\n> rename to include/libcamera/internal/camera_controls.h\n> index 265c1fe379db..dc8b3ba84bc4 100644\n> --- a/src/libcamera/include/camera_controls.h\n> +++ b/include/libcamera/internal/camera_controls.h\n> @@ -7,7 +7,7 @@\n>  #ifndef __LIBCAMERA_CAMERA_CONTROLS_H__\n>  #define __LIBCAMERA_CAMERA_CONTROLS_H__\n>\n> -#include \"control_validator.h\"\n> +#include \"libcamera/internal/control_validator.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/camera_sensor.h b/include/libcamera/internal/camera_sensor.h\n> similarity index 96%\n> rename from src/libcamera/include/camera_sensor.h\n> rename to include/libcamera/internal/camera_sensor.h\n> index 30cf5f34f485..d79bd9ce9d58 100644\n> --- a/src/libcamera/include/camera_sensor.h\n> +++ b/include/libcamera/internal/camera_sensor.h\n> @@ -14,8 +14,8 @@\n>  #include <libcamera/controls.h>\n>  #include <libcamera/geometry.h>\n>\n> -#include \"formats.h\"\n> -#include \"log.h\"\n> +#include \"libcamera/internal/formats.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/control_serializer.h b/include/libcamera/internal/control_serializer.h\n> similarity index 100%\n> rename from src/libcamera/include/control_serializer.h\n> rename to include/libcamera/internal/control_serializer.h\n> diff --git a/src/libcamera/include/control_validator.h b/include/libcamera/internal/control_validator.h\n> similarity index 100%\n> rename from src/libcamera/include/control_validator.h\n> rename to include/libcamera/internal/control_validator.h\n> diff --git a/src/libcamera/include/device_enumerator.h b/include/libcamera/internal/device_enumerator.h\n> similarity index 100%\n> rename from src/libcamera/include/device_enumerator.h\n> rename to include/libcamera/internal/device_enumerator.h\n> diff --git a/src/libcamera/include/device_enumerator_sysfs.h b/include/libcamera/internal/device_enumerator_sysfs.h\n> similarity index 92%\n> rename from src/libcamera/include/device_enumerator_sysfs.h\n> rename to include/libcamera/internal/device_enumerator_sysfs.h\n> index 5a5c9b0f5a31..a63e737a78d5 100644\n> --- a/src/libcamera/include/device_enumerator_sysfs.h\n> +++ b/include/libcamera/internal/device_enumerator_sysfs.h\n> @@ -10,7 +10,7 @@\n>  #include <memory>\n>  #include <string>\n>\n> -#include \"device_enumerator.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n>\n>  class MediaDevice;\n>\n> diff --git a/src/libcamera/include/device_enumerator_udev.h b/include/libcamera/internal/device_enumerator_udev.h\n> similarity index 96%\n> rename from src/libcamera/include/device_enumerator_udev.h\n> rename to include/libcamera/internal/device_enumerator_udev.h\n> index fdce4520f33a..fdaa20968ef0 100644\n> --- a/src/libcamera/include/device_enumerator_udev.h\n> +++ b/include/libcamera/internal/device_enumerator_udev.h\n> @@ -14,7 +14,7 @@\n>  #include <string>\n>  #include <sys/types.h>\n>\n> -#include \"device_enumerator.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n>\n>  struct udev;\n>  struct udev_device;\n> diff --git a/src/libcamera/include/event_dispatcher_poll.h b/include/libcamera/internal/event_dispatcher_poll.h\n> similarity index 100%\n> rename from src/libcamera/include/event_dispatcher_poll.h\n> rename to include/libcamera/internal/event_dispatcher_poll.h\n> diff --git a/src/libcamera/include/file.h b/include/libcamera/internal/file.h\n> similarity index 100%\n> rename from src/libcamera/include/file.h\n> rename to include/libcamera/internal/file.h\n> diff --git a/src/libcamera/include/formats.h b/include/libcamera/internal/formats.h\n> similarity index 96%\n> rename from src/libcamera/include/formats.h\n> rename to include/libcamera/internal/formats.h\n> index 291a1108aa33..4092a93ef973 100644\n> --- a/src/libcamera/include/formats.h\n> +++ b/include/libcamera/internal/formats.h\n> @@ -14,7 +14,7 @@\n>  #include <libcamera/geometry.h>\n>  #include <libcamera/pixelformats.h>\n>\n> -#include \"v4l2_pixelformat.h\"\n> +#include \"libcamera/internal/v4l2_pixelformat.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/ipa_context_wrapper.h b/include/libcamera/internal/ipa_context_wrapper.h\n> similarity index 96%\n> rename from src/libcamera/include/ipa_context_wrapper.h\n> rename to include/libcamera/internal/ipa_context_wrapper.h\n> index 0db022ef5a1b..a717d4067498 100644\n> --- a/src/libcamera/include/ipa_context_wrapper.h\n> +++ b/include/libcamera/internal/ipa_context_wrapper.h\n> @@ -9,7 +9,7 @@\n>\n>  #include <ipa/ipa_interface.h>\n>\n> -#include \"control_serializer.h\"\n> +#include \"libcamera/internal/control_serializer.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/ipa_manager.h b/include/libcamera/internal/ipa_manager.h\n> similarity index 88%\n> rename from src/libcamera/include/ipa_manager.h\n> rename to include/libcamera/internal/ipa_manager.h\n> index aa6b9adb1f87..f07d91fc7bbf 100644\n> --- a/src/libcamera/include/ipa_manager.h\n> +++ b/include/libcamera/internal/ipa_manager.h\n> @@ -13,9 +13,9 @@\n>  #include <ipa/ipa_interface.h>\n>  #include <ipa/ipa_module_info.h>\n>\n> -#include \"ipa_module.h\"\n> -#include \"pipeline_handler.h\"\n> -#include \"pub_key.h\"\n> +#include \"libcamera/internal/ipa_module.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/pub_key.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/ipa_module.h b/include/libcamera/internal/ipa_module.h\n> similarity index 93%\n> rename from src/libcamera/include/ipa_module.h\n> rename to include/libcamera/internal/ipa_module.h\n> index 15022e19edce..2f569db0b848 100644\n> --- a/src/libcamera/include/ipa_module.h\n> +++ b/include/libcamera/internal/ipa_module.h\n> @@ -14,8 +14,8 @@\n>  #include <ipa/ipa_interface.h>\n>  #include <ipa/ipa_module_info.h>\n>\n> -#include \"log.h\"\n> -#include \"pipeline_handler.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/ipa_proxy.h b/include/libcamera/internal/ipa_proxy.h\n> similarity index 100%\n> rename from src/libcamera/include/ipa_proxy.h\n> rename to include/libcamera/internal/ipa_proxy.h\n> diff --git a/src/libcamera/include/ipc_unixsocket.h b/include/libcamera/internal/ipc_unixsocket.h\n> similarity index 100%\n> rename from src/libcamera/include/ipc_unixsocket.h\n> rename to include/libcamera/internal/ipc_unixsocket.h\n> diff --git a/src/libcamera/include/log.h b/include/libcamera/internal/log.h\n> similarity index 98%\n> rename from src/libcamera/include/log.h\n> rename to include/libcamera/internal/log.h\n> index ee0b4069bd32..cab2034aae6b 100644\n> --- a/src/libcamera/include/log.h\n> +++ b/include/libcamera/internal/log.h\n> @@ -10,7 +10,7 @@\n>  #include <chrono>\n>  #include <sstream>\n>\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/media_device.h b/include/libcamera/internal/media_device.h\n> similarity index 96%\n> rename from src/libcamera/include/media_device.h\n> rename to include/libcamera/internal/media_device.h\n> index 4d9f76618ec0..9fe76c514b17 100644\n> --- a/src/libcamera/include/media_device.h\n> +++ b/include/libcamera/internal/media_device.h\n> @@ -16,8 +16,8 @@\n>\n>  #include <libcamera/signal.h>\n>\n> -#include \"log.h\"\n> -#include \"media_object.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_object.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/media_object.h b/include/libcamera/internal/media_object.h\n> similarity index 100%\n> rename from src/libcamera/include/media_object.h\n> rename to include/libcamera/internal/media_object.h\n> diff --git a/src/libcamera/include/meson.build b/include/libcamera/internal/meson.build\n> similarity index 100%\n> rename from src/libcamera/include/meson.build\n> rename to include/libcamera/internal/meson.build\n> diff --git a/src/libcamera/include/message.h b/include/libcamera/internal/message.h\n> similarity index 100%\n> rename from src/libcamera/include/message.h\n> rename to include/libcamera/internal/message.h\n> diff --git a/src/libcamera/include/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h\n> similarity index 98%\n> rename from src/libcamera/include/pipeline_handler.h\n> rename to include/libcamera/internal/pipeline_handler.h\n> index 706413fa6e9f..428f5887c76b 100644\n> --- a/src/libcamera/include/pipeline_handler.h\n> +++ b/include/libcamera/internal/pipeline_handler.h\n> @@ -19,7 +19,7 @@\n>  #include <libcamera/object.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"ipa_proxy.h\"\n> +#include \"libcamera/internal/ipa_proxy.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/process.h b/include/libcamera/internal/process.h\n> similarity index 100%\n> rename from src/libcamera/include/process.h\n> rename to include/libcamera/internal/process.h\n> diff --git a/src/libcamera/include/pub_key.h b/include/libcamera/internal/pub_key.h\n> similarity index 100%\n> rename from src/libcamera/include/pub_key.h\n> rename to include/libcamera/internal/pub_key.h\n> diff --git a/src/libcamera/include/semaphore.h b/include/libcamera/internal/semaphore.h\n> similarity index 94%\n> rename from src/libcamera/include/semaphore.h\n> rename to include/libcamera/internal/semaphore.h\n> index c6b286536eb3..4d93077c776f 100644\n> --- a/src/libcamera/include/semaphore.h\n> +++ b/include/libcamera/internal/semaphore.h\n> @@ -9,7 +9,7 @@\n>\n>  #include <condition_variable>\n>\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/thread.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/thread.h b/include/libcamera/internal/thread.h\n> similarity index 97%\n> rename from src/libcamera/include/thread.h\n> rename to include/libcamera/internal/thread.h\n> index d700f111a3ae..6594c9b06b8d 100644\n> --- a/src/libcamera/include/thread.h\n> +++ b/include/libcamera/internal/thread.h\n> @@ -14,7 +14,7 @@\n>\n>  #include <libcamera/signal.h>\n>\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/utils.h b/include/libcamera/internal/utils.h\n> similarity index 100%\n> rename from src/libcamera/include/utils.h\n> rename to include/libcamera/internal/utils.h\n> diff --git a/src/libcamera/include/v4l2_controls.h b/include/libcamera/internal/v4l2_controls.h\n> similarity index 100%\n> rename from src/libcamera/include/v4l2_controls.h\n> rename to include/libcamera/internal/v4l2_controls.h\n> diff --git a/src/libcamera/include/v4l2_device.h b/include/libcamera/internal/v4l2_device.h\n> similarity index 94%\n> rename from src/libcamera/include/v4l2_device.h\n> rename to include/libcamera/internal/v4l2_device.h\n> index e604a40df4c9..d491eafd262e 100644\n> --- a/src/libcamera/include/v4l2_device.h\n> +++ b/include/libcamera/internal/v4l2_device.h\n> @@ -13,8 +13,8 @@\n>\n>  #include <linux/videodev2.h>\n>\n> -#include \"log.h\"\n> -#include \"v4l2_controls.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/v4l2_controls.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/v4l2_pixelformat.h b/include/libcamera/internal/v4l2_pixelformat.h\n> similarity index 100%\n> rename from src/libcamera/include/v4l2_pixelformat.h\n> rename to include/libcamera/internal/v4l2_pixelformat.h\n> diff --git a/src/libcamera/include/v4l2_subdevice.h b/include/libcamera/internal/v4l2_subdevice.h\n> similarity index 90%\n> rename from src/libcamera/include/v4l2_subdevice.h\n> rename to include/libcamera/internal/v4l2_subdevice.h\n> index d0e565dbdaab..1be454f0ddda 100644\n> --- a/src/libcamera/include/v4l2_subdevice.h\n> +++ b/include/libcamera/internal/v4l2_subdevice.h\n> @@ -12,10 +12,10 @@\n>\n>  #include <libcamera/geometry.h>\n>\n> -#include \"formats.h\"\n> -#include \"log.h\"\n> -#include \"media_object.h\"\n> -#include \"v4l2_device.h\"\n> +#include \"libcamera/internal/formats.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_object.h\"\n> +#include \"libcamera/internal/v4l2_device.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/include/v4l2_videodevice.h b/include/libcamera/internal/v4l2_videodevice.h\n> similarity index 97%\n> rename from src/libcamera/include/v4l2_videodevice.h\n> rename to include/libcamera/internal/v4l2_videodevice.h\n> index 94565b97b6b1..dc259523599c 100644\n> --- a/src/libcamera/include/v4l2_videodevice.h\n> +++ b/include/libcamera/internal/v4l2_videodevice.h\n> @@ -20,10 +20,10 @@\n>  #include <libcamera/pixelformats.h>\n>  #include <libcamera/signal.h>\n>\n> -#include \"formats.h\"\n> -#include \"log.h\"\n> -#include \"v4l2_device.h\"\n> -#include \"v4l2_pixelformat.h\"\n> +#include \"libcamera/internal/formats.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/v4l2_device.h\"\n> +#include \"libcamera/internal/v4l2_pixelformat.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build\n> index cea47eb83030..f9c8e64bd50c 100644\n> --- a/include/libcamera/meson.build\n> +++ b/include/libcamera/meson.build\n> @@ -23,6 +23,8 @@ libcamera_api = files([\n>\n>  include_dir = join_paths(libcamera_include_dir, 'libcamera')\n>\n> +subdir('internal')\n> +\n>  install_headers(libcamera_api,\n>                  subdir : include_dir)\n>\n> diff --git a/src/android/camera3_hal.cpp b/src/android/camera3_hal.cpp\n> index 34301ed971b6..716e36c72b83 100644\n> --- a/src/android/camera3_hal.cpp\n> +++ b/src/android/camera3_hal.cpp\n> @@ -7,9 +7,10 @@\n>\n>  #include <hardware/camera_common.h>\n>\n> +#include \"libcamera/internal/log.h\"\n> +\n>  #include \"camera_device.h\"\n>  #include \"camera_hal_manager.h\"\n> -#include \"log.h\"\n>\n>  using namespace libcamera;\n>\n> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> index 76af70ebccfa..4ec429fc3f8f 100644\n> --- a/src/android/camera_device.cpp\n> +++ b/src/android/camera_device.cpp\n> @@ -11,8 +11,8 @@\n>  #include <libcamera/controls.h>\n>  #include <libcamera/property_ids.h>\n>\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  #include \"camera_metadata.h\"\n>\n> diff --git a/src/android/camera_device.h b/src/android/camera_device.h\n> index 55eac317e0e4..bce1cfbc85a4 100644\n> --- a/src/android/camera_device.h\n> +++ b/src/android/camera_device.h\n> @@ -16,7 +16,7 @@\n>  #include <libcamera/request.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"message.h\"\n> +#include \"libcamera/internal/message.h\"\n>\n>  class CameraMetadata;\n>\n> diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp\n> index 5bd3bdba8a55..759e320dcd3b 100644\n> --- a/src/android/camera_hal_manager.cpp\n> +++ b/src/android/camera_hal_manager.cpp\n> @@ -9,7 +9,7 @@\n>\n>  #include <libcamera/camera.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  #include \"camera_device.h\"\n>\n> diff --git a/src/android/camera_metadata.cpp b/src/android/camera_metadata.cpp\n> index 76965108c08b..47b2e4ef117a 100644\n> --- a/src/android/camera_metadata.cpp\n> +++ b/src/android/camera_metadata.cpp\n> @@ -7,7 +7,7 @@\n>\n>  #include \"camera_metadata.h\"\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  using namespace libcamera;\n>\n> diff --git a/src/ipa/libipa/ipa_interface_wrapper.cpp b/src/ipa/libipa/ipa_interface_wrapper.cpp\n> index 21d8c98bddee..90f270c021a9 100644\n> --- a/src/ipa/libipa/ipa_interface_wrapper.cpp\n> +++ b/src/ipa/libipa/ipa_interface_wrapper.cpp\n> @@ -14,8 +14,8 @@\n>\n>  #include <ipa/ipa_interface.h>\n>\n> -#include \"byte_stream_buffer.h\"\n> -#include \"camera_sensor.h\"\n> +#include \"libcamera/internal/byte_stream_buffer.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n>\n>  /**\n>   * \\file ipa_interface_wrapper.h\n> diff --git a/src/ipa/libipa/ipa_interface_wrapper.h b/src/ipa/libipa/ipa_interface_wrapper.h\n> index 56507aafd81e..b426034d551d 100644\n> --- a/src/ipa/libipa/ipa_interface_wrapper.h\n> +++ b/src/ipa/libipa/ipa_interface_wrapper.h\n> @@ -11,7 +11,7 @@\n>\n>  #include <ipa/ipa_interface.h>\n>\n> -#include \"control_serializer.h\"\n> +#include \"libcamera/internal/control_serializer.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/ipa/meson.build b/src/ipa/meson.build\n> index ab73c347021c..5a5de267c147 100644\n> --- a/src/ipa/meson.build\n> +++ b/src/ipa/meson.build\n> @@ -6,7 +6,6 @@ ipa_sysconf_dir = join_paths(get_option('sysconfdir'), 'libcamera', 'ipa')\n>\n>  ipa_includes = [\n>      libcamera_includes,\n> -    libcamera_internal_includes,\n>  ]\n>\n>  config_h.set('IPA_CONFIG_DIR',\n> diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp\n> index 7f05d2c6b368..a0c73f99390f 100644\n> --- a/src/ipa/raspberrypi/cam_helper.cpp\n> +++ b/src/ipa/raspberrypi/cam_helper.cpp\n> @@ -11,11 +11,11 @@\n>  #include <map>\n>  #include <string.h>\n>\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n> +\n>  #include \"cam_helper.hpp\"\n>  #include \"md_parser.hpp\"\n>\n> -#include \"v4l2_videodevice.h\"\n> -\n>  using namespace RPi;\n>\n>  static std::map<std::string, CamHelperCreateFunc> cam_helpers;\n> diff --git a/src/ipa/raspberrypi/cam_helper.hpp b/src/ipa/raspberrypi/cam_helper.hpp\n> index 0c8aa29a4cff..6877f4735031 100644\n> --- a/src/ipa/raspberrypi/cam_helper.hpp\n> +++ b/src/ipa/raspberrypi/cam_helper.hpp\n> @@ -11,7 +11,7 @@\n>  #include \"camera_mode.h\"\n>  #include \"md_parser.hpp\"\n>\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  namespace RPi {\n>\n> diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp\n> index 3bcc08156902..46b244538e32 100644\n> --- a/src/ipa/raspberrypi/raspberrypi.cpp\n> +++ b/src/ipa/raspberrypi/raspberrypi.cpp\n> @@ -22,6 +22,10 @@\n>  #include <libcamera/span.h>\n>  #include <libipa/ipa_interface_wrapper.h>\n>\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +\n>  #include <linux/bcm2835-isp.h>\n>\n>  #include \"agc_algorithm.hpp\"\n> @@ -44,10 +48,6 @@\n>  #include \"sdn_status.h\"\n>  #include \"sharpen_status.h\"\n>\n> -#include \"camera_sensor.h\"\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> -\n>  namespace libcamera {\n>\n>  /* Configure the sensor with these values initially. */\n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index bfa88418fa7b..4f6e0342dac1 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -22,8 +22,8 @@\n>  #include <libcamera/request.h>\n>  #include <libipa/ipa_interface_wrapper.h>\n>\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp\n> index 9271f2d8acff..3fa6be6535e2 100644\n> --- a/src/ipa/vimc/vimc.cpp\n> +++ b/src/ipa/vimc/vimc.cpp\n> @@ -19,8 +19,8 @@\n>\n>  #include <libipa/ipa_interface_wrapper.h>\n>\n> -#include \"file.h\"\n> -#include \"log.h\"\n> +#include \"libcamera/internal/file.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/bound_method.cpp b/src/libcamera/bound_method.cpp\n> index 9aa59dc3678f..9993e5969aac 100644\n> --- a/src/libcamera/bound_method.cpp\n> +++ b/src/libcamera/bound_method.cpp\n> @@ -7,9 +7,9 @@\n>\n>  #include <libcamera/bound_method.h>\n>\n> -#include \"message.h\"\n> -#include \"semaphore.h\"\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/message.h\"\n> +#include \"libcamera/internal/semaphore.h\"\n> +#include \"libcamera/internal/thread.h\"\n>\n>  /**\n>   * \\file bound_method.h\n> diff --git a/src/libcamera/buffer.cpp b/src/libcamera/buffer.cpp\n> index 0c5e56cf1062..1a1d4bac7aed 100644\n> --- a/src/libcamera/buffer.cpp\n> +++ b/src/libcamera/buffer.cpp\n> @@ -12,7 +12,7 @@\n>  #include <sys/mman.h>\n>  #include <unistd.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file buffer.h\n> diff --git a/src/libcamera/byte_stream_buffer.cpp b/src/libcamera/byte_stream_buffer.cpp\n> index 20d6a6552c5f..df7029b02a7f 100644\n> --- a/src/libcamera/byte_stream_buffer.cpp\n> +++ b/src/libcamera/byte_stream_buffer.cpp\n> @@ -5,12 +5,12 @@\n>   * byte_stream_buffer.cpp - Byte stream buffer\n>   */\n>\n> -#include \"byte_stream_buffer.h\"\n> +#include \"libcamera/internal/byte_stream_buffer.h\"\n>\n>  #include <stdint.h>\n>  #include <string.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp\n> index 8c3bb2c2a01f..eac769a43964 100644\n> --- a/src/libcamera/camera.cpp\n> +++ b/src/libcamera/camera.cpp\n> @@ -14,9 +14,9 @@\n>  #include <libcamera/request.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"log.h\"\n> -#include \"pipeline_handler.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file camera.h\n> diff --git a/src/libcamera/camera_controls.cpp b/src/libcamera/camera_controls.cpp\n> index 59dcede2ca36..371f6d079e2d 100644\n> --- a/src/libcamera/camera_controls.cpp\n> +++ b/src/libcamera/camera_controls.cpp\n> @@ -5,7 +5,7 @@\n>   * camera_controls.cpp - Camera controls\n>   */\n>\n> -#include \"camera_controls.h\"\n> +#include \"libcamera/internal/camera_controls.h\"\n>\n>  #include <libcamera/camera.h>\n>  #include <libcamera/controls.h>\n> diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp\n> index fddf7349ec15..849377ad2712 100644\n> --- a/src/libcamera/camera_manager.cpp\n> +++ b/src/libcamera/camera_manager.cpp\n> @@ -13,12 +13,12 @@\n>  #include <libcamera/camera.h>\n>  #include <libcamera/event_dispatcher.h>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"event_dispatcher_poll.h\"\n> -#include \"log.h\"\n> -#include \"pipeline_handler.h\"\n> -#include \"thread.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/event_dispatcher_poll.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file camera_manager.h\n> diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp\n> index 31a916a92722..174df17cfaef 100644\n> --- a/src/libcamera/camera_sensor.cpp\n> +++ b/src/libcamera/camera_sensor.cpp\n> @@ -5,7 +5,7 @@\n>   * camera_sensor.cpp - A camera sensor\n>   */\n>\n> -#include \"camera_sensor.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n>\n>  #include <algorithm>\n>  #include <float.h>\n> @@ -16,9 +16,9 @@\n>\n>  #include <libcamera/property_ids.h>\n>\n> -#include \"formats.h\"\n> -#include \"utils.h\"\n> -#include \"v4l2_subdevice.h\"\n> +#include \"libcamera/internal/formats.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n>\n>  /**\n>   * \\file camera_sensor.h\n> diff --git a/src/libcamera/control_serializer.cpp b/src/libcamera/control_serializer.cpp\n> index fcff5e56fbf7..bf162b6cc471 100644\n> --- a/src/libcamera/control_serializer.cpp\n> +++ b/src/libcamera/control_serializer.cpp\n> @@ -5,7 +5,7 @@\n>   * control_serializer.cpp - Control (de)serializer\n>   */\n>\n> -#include \"control_serializer.h\"\n> +#include \"libcamera/internal/control_serializer.h\"\n>\n>  #include <algorithm>\n>  #include <memory>\n> @@ -16,8 +16,8 @@\n>  #include <libcamera/controls.h>\n>  #include <libcamera/span.h>\n>\n> -#include \"byte_stream_buffer.h\"\n> -#include \"log.h\"\n> +#include \"libcamera/internal/byte_stream_buffer.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file control_serializer.h\n> diff --git a/src/libcamera/control_validator.cpp b/src/libcamera/control_validator.cpp\n> index 8e5cf3c3e3ee..5a2f27ac9a3b 100644\n> --- a/src/libcamera/control_validator.cpp\n> +++ b/src/libcamera/control_validator.cpp\n> @@ -5,7 +5,7 @@\n>   * control_validator.cpp - Control validator\n>   */\n>\n> -#include \"control_validator.h\"\n> +#include \"libcamera/internal/control_validator.h\"\n>\n>  /**\n>   * \\file control_validator.h\n> diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp\n> index 08df7f29e938..dca782667d88 100644\n> --- a/src/libcamera/controls.cpp\n> +++ b/src/libcamera/controls.cpp\n> @@ -12,9 +12,9 @@\n>  #include <string>\n>  #include <string.h>\n>\n> -#include \"control_validator.h\"\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/control_validator.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file controls.h\n> diff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp\n> index dd17e3e32e6c..e21a2a7deaae 100644\n> --- a/src/libcamera/device_enumerator.cpp\n> +++ b/src/libcamera/device_enumerator.cpp\n> @@ -5,14 +5,14 @@\n>   * device_enumerator.cpp - Enumeration and matching\n>   */\n>\n> -#include \"device_enumerator.h\"\n> -#include \"device_enumerator_sysfs.h\"\n> -#include \"device_enumerator_udev.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/device_enumerator_sysfs.h\"\n> +#include \"libcamera/internal/device_enumerator_udev.h\"\n>\n>  #include <string.h>\n>\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n>\n>  /**\n>   * \\file device_enumerator.h\n> diff --git a/src/libcamera/device_enumerator_sysfs.cpp b/src/libcamera/device_enumerator_sysfs.cpp\n> index 3446db59e9d4..ff72885288c3 100644\n> --- a/src/libcamera/device_enumerator_sysfs.cpp\n> +++ b/src/libcamera/device_enumerator_sysfs.cpp\n> @@ -5,7 +5,7 @@\n>   * device_enumerator_sysfs.cpp - sysfs-based device enumerator\n>   */\n>\n> -#include \"device_enumerator_sysfs.h\"\n> +#include \"libcamera/internal/device_enumerator_sysfs.h\"\n>\n>  #include <dirent.h>\n>  #include <fcntl.h>\n> @@ -17,8 +17,8 @@\n>  #include <sys/types.h>\n>  #include <unistd.h>\n>\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/device_enumerator_udev.cpp b/src/libcamera/device_enumerator_udev.cpp\n> index 2e33c898aeef..56ca4dc2804b 100644\n> --- a/src/libcamera/device_enumerator_udev.cpp\n> +++ b/src/libcamera/device_enumerator_udev.cpp\n> @@ -5,7 +5,7 @@\n>   * device_enumerator_udev.cpp - udev-based device enumerator\n>   */\n>\n> -#include \"device_enumerator_udev.h\"\n> +#include \"libcamera/internal/device_enumerator_udev.h\"\n>\n>  #include <algorithm>\n>  #include <fcntl.h>\n> @@ -19,8 +19,8 @@\n>\n>  #include <libcamera/event_notifier.h>\n>\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/event_dispatcher.cpp b/src/libcamera/event_dispatcher.cpp\n> index bb4fddfffe86..90bd5daf0612 100644\n> --- a/src/libcamera/event_dispatcher.cpp\n> +++ b/src/libcamera/event_dispatcher.cpp\n> @@ -7,7 +7,7 @@\n>\n>  #include <libcamera/event_dispatcher.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file event_dispatcher.h\n> diff --git a/src/libcamera/event_dispatcher_poll.cpp b/src/libcamera/event_dispatcher_poll.cpp\n> index 51ac5adf2f74..9ab85da7d75d 100644\n> --- a/src/libcamera/event_dispatcher_poll.cpp\n> +++ b/src/libcamera/event_dispatcher_poll.cpp\n> @@ -5,7 +5,7 @@\n>   * event_dispatcher_poll.cpp - Poll-based event dispatcher\n>   */\n>\n> -#include \"event_dispatcher_poll.h\"\n> +#include \"libcamera/internal/event_dispatcher_poll.h\"\n>\n>  #include <algorithm>\n>  #include <chrono>\n> @@ -19,9 +19,9 @@\n>  #include <libcamera/event_notifier.h>\n>  #include <libcamera/timer.h>\n>\n> -#include \"log.h\"\n> -#include \"thread.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file event_dispatcher_poll.h\n> diff --git a/src/libcamera/event_notifier.cpp b/src/libcamera/event_notifier.cpp\n> index a9be686f79ae..cc3ea0d91e5b 100644\n> --- a/src/libcamera/event_notifier.cpp\n> +++ b/src/libcamera/event_notifier.cpp\n> @@ -10,8 +10,8 @@\n>  #include <libcamera/camera_manager.h>\n>  #include <libcamera/event_dispatcher.h>\n>\n> -#include \"message.h\"\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/message.h\"\n> +#include \"libcamera/internal/thread.h\"\n>\n>  /**\n>   * \\file event_notifier.h\n> diff --git a/src/libcamera/file.cpp b/src/libcamera/file.cpp\n> index 8223743d5f6b..c471bde3fc68 100644\n> --- a/src/libcamera/file.cpp\n> +++ b/src/libcamera/file.cpp\n> @@ -5,7 +5,7 @@\n>   * file.cpp - File I/O operations\n>   */\n>\n> -#include \"file.h\"\n> +#include \"libcamera/internal/file.h\"\n>\n>  #include <errno.h>\n>  #include <fcntl.h>\n> @@ -14,7 +14,7 @@\n>  #include <sys/types.h>\n>  #include <unistd.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file file.h\n> diff --git a/src/libcamera/file_descriptor.cpp b/src/libcamera/file_descriptor.cpp\n> index 88385476d890..ee60064bce6e 100644\n> --- a/src/libcamera/file_descriptor.cpp\n> +++ b/src/libcamera/file_descriptor.cpp\n> @@ -11,7 +11,7 @@\n>  #include <unistd.h>\n>  #include <utility>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file file_descriptor.h\n> diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\n> index b3af0f7fcfcc..2ac3b412ecdb 100644\n> --- a/src/libcamera/formats.cpp\n> +++ b/src/libcamera/formats.cpp\n> @@ -5,11 +5,11 @@\n>   * formats.cpp - libcamera image formats\n>   */\n>\n> -#include \"formats.h\"\n> +#include \"libcamera/internal/formats.h\"\n>\n>  #include <errno.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file formats.h\n> diff --git a/src/libcamera/framebuffer_allocator.cpp b/src/libcamera/framebuffer_allocator.cpp\n> index a37b564c6701..252191ba234c 100644\n> --- a/src/libcamera/framebuffer_allocator.cpp\n> +++ b/src/libcamera/framebuffer_allocator.cpp\n> @@ -13,8 +13,8 @@\n>  #include <libcamera/camera.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"log.h\"\n> -#include \"pipeline_handler.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n>\n>  /**\n>   * \\file framebuffer_allocator.h\n> diff --git a/src/libcamera/ipa_context_wrapper.cpp b/src/libcamera/ipa_context_wrapper.cpp\n> index 0bd3a1aeca95..bcdc55c2bcbc 100644\n> --- a/src/libcamera/ipa_context_wrapper.cpp\n> +++ b/src/libcamera/ipa_context_wrapper.cpp\n> @@ -5,15 +5,15 @@\n>   * ipa_context_wrapper.cpp - Image Processing Algorithm context wrapper\n>   */\n>\n> -#include \"ipa_context_wrapper.h\"\n> +#include \"libcamera/internal/ipa_context_wrapper.h\"\n>\n>  #include <vector>\n>\n>  #include <libcamera/controls.h>\n>\n> -#include \"byte_stream_buffer.h\"\n> -#include \"camera_sensor.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/byte_stream_buffer.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file ipa_context_wrapper.h\n> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp\n> index 1faa3dd38188..505cf61074b7 100644\n> --- a/src/libcamera/ipa_manager.cpp\n> +++ b/src/libcamera/ipa_manager.cpp\n> @@ -5,19 +5,19 @@\n>   * ipa_manager.cpp - Image Processing Algorithm module manager\n>   */\n>\n> -#include \"ipa_manager.h\"\n> +#include \"libcamera/internal/ipa_manager.h\"\n>\n>  #include <algorithm>\n>  #include <dirent.h>\n>  #include <string.h>\n>  #include <sys/types.h>\n>\n> -#include \"file.h\"\n> -#include \"ipa_module.h\"\n> -#include \"ipa_proxy.h\"\n> -#include \"log.h\"\n> -#include \"pipeline_handler.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/file.h\"\n> +#include \"libcamera/internal/ipa_module.h\"\n> +#include \"libcamera/internal/ipa_proxy.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file ipa_manager.h\n> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp\n> index 3444a788b855..91534b61e2e4 100644\n> --- a/src/libcamera/ipa_module.cpp\n> +++ b/src/libcamera/ipa_module.cpp\n> @@ -5,7 +5,7 @@\n>   * ipa_module.cpp - Image Processing Algorithm module\n>   */\n>\n> -#include \"ipa_module.h\"\n> +#include \"libcamera/internal/ipa_module.h\"\n>\n>  #include <algorithm>\n>  #include <array>\n> @@ -23,10 +23,10 @@\n>\n>  #include <libcamera/span.h>\n>\n> -#include \"file.h\"\n> -#include \"log.h\"\n> -#include \"pipeline_handler.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/file.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file ipa_module.h\n> diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp\n> index 401ac52d38d6..23be24ad9bf1 100644\n> --- a/src/libcamera/ipa_proxy.cpp\n> +++ b/src/libcamera/ipa_proxy.cpp\n> @@ -5,16 +5,16 @@\n>   * ipa_proxy.cpp - Image Processing Algorithm proxy\n>   */\n>\n> -#include \"ipa_proxy.h\"\n> +#include \"libcamera/internal/ipa_proxy.h\"\n>\n>  #include <string.h>\n>  #include <sys/stat.h>\n>  #include <sys/types.h>\n>  #include <unistd.h>\n>\n> -#include \"ipa_module.h\"\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/ipa_module.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file ipa_proxy.h\n> diff --git a/src/libcamera/ipa_pub_key.cpp.in b/src/libcamera/ipa_pub_key.cpp.in\n> index 7ffc1e24d67b..01e5333b4d30 100644\n> --- a/src/libcamera/ipa_pub_key.cpp.in\n> +++ b/src/libcamera/ipa_pub_key.cpp.in\n> @@ -7,7 +7,7 @@\n>   * This file is auto-generated. Do not edit.\n>   */\n>\n> -#include \"ipa_manager.h\"\n> +#include \"libcamera/internal/ipa_manager.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/ipc_unixsocket.cpp b/src/libcamera/ipc_unixsocket.cpp\n> index 6e5cab894a93..7df86e885f23 100644\n> --- a/src/libcamera/ipc_unixsocket.cpp\n> +++ b/src/libcamera/ipc_unixsocket.cpp\n> @@ -5,14 +5,14 @@\n>   * ipc_unixsocket.cpp - IPC mechanism based on Unix sockets\n>   */\n>\n> -#include \"ipc_unixsocket.h\"\n> +#include \"libcamera/internal/ipc_unixsocket.h\"\n>\n>  #include <poll.h>\n>  #include <string.h>\n>  #include <sys/socket.h>\n>  #include <unistd.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file ipc_unixsocket.h\n> diff --git a/src/libcamera/log.cpp b/src/libcamera/log.cpp\n> index fd1b5c39a52e..180eb97ba664 100644\n> --- a/src/libcamera/log.cpp\n> +++ b/src/libcamera/log.cpp\n> @@ -5,7 +5,7 @@\n>   * log.cpp - Logging infrastructure\n>   */\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  #if HAVE_BACKTRACE\n>  #include <execinfo.h>\n> @@ -22,8 +22,8 @@\n>\n>  #include <libcamera/logging.h>\n>\n> -#include \"thread.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file log.h\n> diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp\n> index d4e7e1002224..de18d572f479 100644\n> --- a/src/libcamera/media_device.cpp\n> +++ b/src/libcamera/media_device.cpp\n> @@ -5,7 +5,7 @@\n>   * media_device.cpp - Media device handler\n>   */\n>\n> -#include \"media_device.h\"\n> +#include \"libcamera/internal/media_device.h\"\n>\n>  #include <errno.h>\n>  #include <fcntl.h>\n> @@ -18,7 +18,7 @@\n>\n>  #include <linux/media.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file media_device.h\n> diff --git a/src/libcamera/media_object.cpp b/src/libcamera/media_object.cpp\n> index ef32065c161d..ce77a72712d3 100644\n> --- a/src/libcamera/media_object.cpp\n> +++ b/src/libcamera/media_object.cpp\n> @@ -5,7 +5,7 @@\n>   * media_object.cpp - Media device objects: entities, pads and links\n>   */\n>\n> -#include \"media_object.h\"\n> +#include \"libcamera/internal/media_object.h\"\n>\n>  #include <errno.h>\n>  #include <string>\n> @@ -15,8 +15,8 @@\n>\n>  #include <linux/media.h>\n>\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n>\n>  /**\n>   * \\file media_object.h\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index d42e9720dbd6..472af451c1ef 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -51,13 +51,8 @@ libcamera_sources = files([\n>      'v4l2_videodevice.cpp',\n>  ])\n>\n> -subdir('include')\n> -\n> -libcamera_internal_includes =  include_directories('include')\n> -\n>  includes = [\n>      libcamera_includes,\n> -    libcamera_internal_includes,\n>  ]\n>\n>  subdir('pipeline')\n> diff --git a/src/libcamera/message.cpp b/src/libcamera/message.cpp\n> index 77f2bdd5fbac..e9b3e73f3052 100644\n> --- a/src/libcamera/message.cpp\n> +++ b/src/libcamera/message.cpp\n> @@ -5,11 +5,11 @@\n>   * message.cpp - Message queue support\n>   */\n>\n> -#include \"message.h\"\n> +#include \"libcamera/internal/message.h\"\n>\n>  #include <libcamera/signal.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file message.h\n> diff --git a/src/libcamera/object.cpp b/src/libcamera/object.cpp\n> index 99c3bf9a709b..1544a23e4410 100644\n> --- a/src/libcamera/object.cpp\n> +++ b/src/libcamera/object.cpp\n> @@ -11,11 +11,11 @@\n>\n>  #include <libcamera/signal.h>\n>\n> -#include \"log.h\"\n> -#include \"message.h\"\n> -#include \"semaphore.h\"\n> -#include \"thread.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/message.h\"\n> +#include \"libcamera/internal/semaphore.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file object.h\n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index 1988cb0ee551..b805fea71c2d 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -17,15 +17,15 @@\n>  #include <libcamera/request.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"camera_sensor.h\"\n> -#include \"device_enumerator.h\"\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> -#include \"pipeline_handler.h\"\n> -#include \"utils.h\"\n> -#include \"v4l2_controls.h\"\n> -#include \"v4l2_subdevice.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_controls.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> index 41d1a522fa71..e254e5558d92 100644\n> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> @@ -21,15 +21,16 @@\n>  #include <linux/drm_fourcc.h>\n>  #include <linux/videodev2.h>\n>\n> -#include \"camera_sensor.h\"\n> -#include \"device_enumerator.h\"\n> -#include \"ipa_manager.h\"\n> -#include \"media_device.h\"\n> -#include \"pipeline_handler.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/ipa_manager.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_controls.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n> +\n>  #include \"staggered_ctrl.h\"\n> -#include \"utils.h\"\n> -#include \"v4l2_controls.h\"\n> -#include \"v4l2_videodevice.h\"\n>  #include \"vcsm.h\"\n>\n>  namespace libcamera {\n> diff --git a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp\n> index d431887ea137..391e13f54ccc 100644\n> --- a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp\n> +++ b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp\n> @@ -11,9 +11,9 @@\n>\n>  #include <libcamera/controls.h>\n>\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> index 1e81a0048f09..7a0c8771ba54 100644\n> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> @@ -20,16 +20,17 @@\n>  #include <libcamera/request.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"camera_sensor.h\"\n> -#include \"device_enumerator.h\"\n> -#include \"ipa_manager.h\"\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> -#include \"pipeline_handler.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/ipa_manager.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n> +\n>  #include \"timeline.h\"\n> -#include \"utils.h\"\n> -#include \"v4l2_subdevice.h\"\n> -#include \"v4l2_videodevice.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/pipeline/rkisp1/timeline.cpp b/src/libcamera/pipeline/rkisp1/timeline.cpp\n> index f6c6434d7b53..f5194608ced7 100644\n> --- a/src/libcamera/pipeline/rkisp1/timeline.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/timeline.cpp\n> @@ -7,7 +7,7 @@\n>\n>  #include \"timeline.h\"\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file timeline.h\n> diff --git a/src/libcamera/pipeline/rkisp1/timeline.h b/src/libcamera/pipeline/rkisp1/timeline.h\n> index 9d30e4eaf874..88f99329873d 100644\n> --- a/src/libcamera/pipeline/rkisp1/timeline.h\n> +++ b/src/libcamera/pipeline/rkisp1/timeline.h\n> @@ -12,7 +12,7 @@\n>\n>  #include <libcamera/timer.h>\n>\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp\n> index 6d88776dc2f0..02443e7f78ed 100644\n> --- a/src/libcamera/pipeline/simple/converter.cpp\n> +++ b/src/libcamera/pipeline/simple/converter.cpp\n> @@ -13,9 +13,9 @@\n>  #include <libcamera/geometry.h>\n>  #include <libcamera/signal.h>\n>\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n> index 6673606153b8..2565190082c8 100644\n> --- a/src/libcamera/pipeline/simple/simple.cpp\n> +++ b/src/libcamera/pipeline/simple/simple.cpp\n> @@ -24,13 +24,13 @@\n>  #include <libcamera/request.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"camera_sensor.h\"\n> -#include \"device_enumerator.h\"\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> -#include \"pipeline_handler.h\"\n> -#include \"v4l2_subdevice.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  #include \"converter.h\"\n>\n> diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp\n> index f0c1337de862..a074909499f1 100644\n> --- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp\n> +++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp\n> @@ -17,13 +17,13 @@\n>  #include <libcamera/request.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> -#include \"pipeline_handler.h\"\n> -#include \"utils.h\"\n> -#include \"v4l2_controls.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_controls.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp\n> index 128301e3d99b..50a9f2df4c24 100644\n> --- a/src/libcamera/pipeline/vimc/vimc.cpp\n> +++ b/src/libcamera/pipeline/vimc/vimc.cpp\n> @@ -22,16 +22,16 @@\n>  #include <libcamera/request.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"camera_sensor.h\"\n> -#include \"device_enumerator.h\"\n> -#include \"ipa_manager.h\"\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> -#include \"pipeline_handler.h\"\n> -#include \"utils.h\"\n> -#include \"v4l2_controls.h\"\n> -#include \"v4l2_subdevice.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/ipa_manager.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_controls.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\n> index 254d341fb8a4..53aeebdcc14e 100644\n> --- a/src/libcamera/pipeline_handler.cpp\n> +++ b/src/libcamera/pipeline_handler.cpp\n> @@ -5,7 +5,7 @@\n>   * pipeline_handler.cpp - Pipeline handler infrastructure\n>   */\n>\n> -#include \"pipeline_handler.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n>\n>  #include <sys/sysmacros.h>\n>\n> @@ -13,10 +13,10 @@\n>  #include <libcamera/camera.h>\n>  #include <libcamera/camera_manager.h>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file pipeline_handler.h\n> diff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp\n> index 3b4d0f10da67..e816ee8670df 100644\n> --- a/src/libcamera/process.cpp\n> +++ b/src/libcamera/process.cpp\n> @@ -5,7 +5,7 @@\n>   * process.cpp - Process object\n>   */\n>\n> -#include \"process.h\"\n> +#include \"libcamera/internal/process.h\"\n>\n>  #include <algorithm>\n>  #include <dirent.h>\n> @@ -22,8 +22,8 @@\n>\n>  #include <libcamera/event_notifier.h>\n>\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file process.h\n> diff --git a/src/libcamera/proxy/ipa_proxy_linux.cpp b/src/libcamera/proxy/ipa_proxy_linux.cpp\n> index 9e0f44cf314f..7d6f8799f8ff 100644\n> --- a/src/libcamera/proxy/ipa_proxy_linux.cpp\n> +++ b/src/libcamera/proxy/ipa_proxy_linux.cpp\n> @@ -10,11 +10,11 @@\n>  #include <ipa/ipa_interface.h>\n>  #include <ipa/ipa_module_info.h>\n>\n> -#include \"ipa_module.h\"\n> -#include \"ipa_proxy.h\"\n> -#include \"ipc_unixsocket.h\"\n> -#include \"log.h\"\n> -#include \"process.h\"\n> +#include \"libcamera/internal/ipa_module.h\"\n> +#include \"libcamera/internal/ipa_proxy.h\"\n> +#include \"libcamera/internal/ipc_unixsocket.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/process.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/proxy/ipa_proxy_thread.cpp b/src/libcamera/proxy/ipa_proxy_thread.cpp\n> index 81d2d68ee715..03d4c0d927b9 100644\n> --- a/src/libcamera/proxy/ipa_proxy_thread.cpp\n> +++ b/src/libcamera/proxy/ipa_proxy_thread.cpp\n> @@ -10,11 +10,11 @@\n>  #include <ipa/ipa_interface.h>\n>  #include <ipa/ipa_module_info.h>\n>\n> -#include \"ipa_context_wrapper.h\"\n> -#include \"ipa_module.h\"\n> -#include \"ipa_proxy.h\"\n> -#include \"log.h\"\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/ipa_context_wrapper.h\"\n> +#include \"libcamera/internal/ipa_module.h\"\n> +#include \"libcamera/internal/ipa_proxy.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/thread.h\"\n>\n>  namespace libcamera {\n>\n> diff --git a/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp b/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp\n> index 9cefa2405e19..9ba94d01d0ca 100644\n> --- a/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp\n> +++ b/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp\n> @@ -13,10 +13,10 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/logging.h>\n>\n> -#include \"ipa_module.h\"\n> -#include \"ipc_unixsocket.h\"\n> -#include \"log.h\"\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/ipa_module.h\"\n> +#include \"libcamera/internal/ipc_unixsocket.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/thread.h\"\n>\n>  using namespace libcamera;\n>\n> diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build\n> index 1b1bee5e0170..ac0310a74871 100644\n> --- a/src/libcamera/proxy/worker/meson.build\n> +++ b/src/libcamera/proxy/worker/meson.build\n> @@ -8,7 +8,6 @@ proxy_install_dir = join_paths(get_option('libexecdir'), 'libcamera')\n>\n>  foreach t : ipa_proxy_sources\n>      proxy = executable(t[0], t[1],\n> -                       include_directories : libcamera_internal_includes,\n>                         install : true,\n>                         install_dir : proxy_install_dir,\n>                         dependencies : libcamera_dep)\n> diff --git a/src/libcamera/pub_key.cpp b/src/libcamera/pub_key.cpp\n> index 064d2dd200e1..2f60adbb7e62 100644\n> --- a/src/libcamera/pub_key.cpp\n> +++ b/src/libcamera/pub_key.cpp\n> @@ -5,7 +5,7 @@\n>   * pub_key.cpp - Public key signature verification\n>   */\n>\n> -#include \"pub_key.h\"\n> +#include \"libcamera/internal/pub_key.h\"\n>\n>  #if HAVE_GNUTLS\n>  #include <gnutls/abstract.h>\n> diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp\n> index ea33736fbeb5..6b9e0b4a538a 100644\n> --- a/src/libcamera/request.cpp\n> +++ b/src/libcamera/request.cpp\n> @@ -14,8 +14,8 @@\n>  #include <libcamera/control_ids.h>\n>  #include <libcamera/stream.h>\n>\n> -#include \"camera_controls.h\"\n> -#include \"log.h\"\n> +#include \"libcamera/internal/camera_controls.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file request.h\n> diff --git a/src/libcamera/semaphore.cpp b/src/libcamera/semaphore.cpp\n> index ce1eae4914ed..d8988a9189e8 100644\n> --- a/src/libcamera/semaphore.cpp\n> +++ b/src/libcamera/semaphore.cpp\n> @@ -5,8 +5,8 @@\n>   * semaphore.cpp - General-purpose counting semaphore\n>   */\n>\n> -#include \"semaphore.h\"\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/semaphore.h\"\n> +#include \"libcamera/internal/thread.h\"\n>\n>  /**\n>   * \\file semaphore.h\n> diff --git a/src/libcamera/signal.cpp b/src/libcamera/signal.cpp\n> index 6eab1fa74d42..2532df3c3073 100644\n> --- a/src/libcamera/signal.cpp\n> +++ b/src/libcamera/signal.cpp\n> @@ -7,7 +7,7 @@\n>\n>  #include <libcamera/signal.h>\n>\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/thread.h\"\n>\n>  /**\n>   * \\file signal.h\n> diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp\n> index 86c0b17db313..f34348f2aea0 100644\n> --- a/src/libcamera/stream.cpp\n> +++ b/src/libcamera/stream.cpp\n> @@ -15,8 +15,8 @@\n>\n>  #include <libcamera/request.h>\n>\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file stream.h\n> diff --git a/src/libcamera/thread.cpp b/src/libcamera/thread.cpp\n> index 85293c188c2a..d1750d72ec8a 100644\n> --- a/src/libcamera/thread.cpp\n> +++ b/src/libcamera/thread.cpp\n> @@ -5,7 +5,7 @@\n>   * thread.cpp - Thread support\n>   */\n>\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/thread.h\"\n>\n>  #include <atomic>\n>  #include <condition_variable>\n> @@ -16,9 +16,9 @@\n>\n>  #include <libcamera/event_dispatcher.h>\n>\n> -#include \"event_dispatcher_poll.h\"\n> -#include \"log.h\"\n> -#include \"message.h\"\n> +#include \"libcamera/internal/event_dispatcher_poll.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/message.h\"\n>\n>  /**\n>   * \\page thread Thread Support\n> diff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp\n> index 24da51524efb..24e452eda49e 100644\n> --- a/src/libcamera/timer.cpp\n> +++ b/src/libcamera/timer.cpp\n> @@ -12,10 +12,10 @@\n>  #include <libcamera/camera_manager.h>\n>  #include <libcamera/event_dispatcher.h>\n>\n> -#include \"log.h\"\n> -#include \"message.h\"\n> -#include \"thread.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/message.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file timer.h\n> diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp\n> index fbadf350908a..d55338fe681a 100644\n> --- a/src/libcamera/utils.cpp\n> +++ b/src/libcamera/utils.cpp\n> @@ -5,7 +5,7 @@\n>   * utils.cpp - Miscellaneous utility functions\n>   */\n>\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  #include <dlfcn.h>\n>  #include <elf.h>\n> diff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp\n> index 8e2415f2a6df..3f8ec6ca00da 100644\n> --- a/src/libcamera/v4l2_controls.cpp\n> +++ b/src/libcamera/v4l2_controls.cpp\n> @@ -5,7 +5,7 @@\n>   * v4l2_controls.cpp - V4L2 Controls Support\n>   */\n>\n> -#include \"v4l2_controls.h\"\n> +#include \"libcamera/internal/v4l2_controls.h\"\n>\n>  #include <string.h>\n>\n> diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp\n> index d08ab531f034..56ea1ddda2c1 100644\n> --- a/src/libcamera/v4l2_device.cpp\n> +++ b/src/libcamera/v4l2_device.cpp\n> @@ -5,7 +5,7 @@\n>   * v4l2_device.cpp - Common base for V4L2 video devices and subdevices\n>   */\n>\n> -#include \"v4l2_device.h\"\n> +#include \"libcamera/internal/v4l2_device.h\"\n>\n>  #include <fcntl.h>\n>  #include <iomanip>\n> @@ -14,9 +14,9 @@\n>  #include <sys/syscall.h>\n>  #include <unistd.h>\n>\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> -#include \"v4l2_controls.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_controls.h\"\n>\n>  /**\n>   * \\file v4l2_device.h\n> diff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp\n> index 561f9327780a..36776be99e59 100644\n> --- a/src/libcamera/v4l2_pixelformat.cpp\n> +++ b/src/libcamera/v4l2_pixelformat.cpp\n> @@ -6,7 +6,7 @@\n>   * v4l2_pixelformat.cpp - V4L2 Pixel Format\n>   */\n>\n> -#include \"v4l2_pixelformat.h\"\n> +#include \"libcamera/internal/v4l2_pixelformat.h\"\n>\n>  #include <ctype.h>\n>  #include <map>\n> @@ -16,8 +16,8 @@\n>\n>  #include <libcamera/pixelformats.h>\n>\n> -#include \"formats.h\"\n> -#include \"log.h\"\n> +#include \"libcamera/internal/formats.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  /**\n>   * \\file v4l2_pixelformat.h\n> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp\n> index 2b756178fc0a..7aefc1be032d 100644\n> --- a/src/libcamera/v4l2_subdevice.cpp\n> +++ b/src/libcamera/v4l2_subdevice.cpp\n> @@ -5,7 +5,7 @@\n>   * v4l2_subdevice.cpp - V4L2 Subdevice\n>   */\n>\n> -#include \"v4l2_subdevice.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n>\n>  #include <fcntl.h>\n>  #include <iomanip>\n> @@ -19,10 +19,10 @@\n>\n>  #include <libcamera/geometry.h>\n>\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> -#include \"media_object.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/media_object.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file v4l2_subdevice.h\n> diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\n> index 4b9f8b5c0413..d35596bd43e4 100644\n> --- a/src/libcamera/v4l2_videodevice.cpp\n> +++ b/src/libcamera/v4l2_videodevice.cpp\n> @@ -5,7 +5,7 @@\n>   * v4l2_videodevice.cpp - V4L2 Video Device\n>   */\n>\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  #include <fcntl.h>\n>  #include <iomanip>\n> @@ -23,10 +23,10 @@\n>  #include <libcamera/event_notifier.h>\n>  #include <libcamera/file_descriptor.h>\n>\n> -#include \"log.h\"\n> -#include \"media_device.h\"\n> -#include \"media_object.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/media_object.h\"\n> +#include \"libcamera/internal/utils.h\"\n>\n>  /**\n>   * \\file v4l2_videodevice.h\n> diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build\n> index fc1be82d1b02..0fb941ea9b9d 100644\n> --- a/src/v4l2/meson.build\n> +++ b/src/v4l2/meson.build\n> @@ -22,6 +22,5 @@ v4l2_compat = shared_library('v4l2-compat',\n>                               v4l2_compat_sources,\n>                               name_prefix : '',\n>                               install : true,\n> -                             include_directories : libcamera_internal_includes,\n>                               dependencies : [ libcamera_dep, libdl ],\n>                               cpp_args : v4l2_compat_cpp_args)\n> diff --git a/src/v4l2/v4l2_camera.cpp b/src/v4l2/v4l2_camera.cpp\n> index ecbb70acfb8e..50a4121cc93f 100644\n> --- a/src/v4l2/v4l2_camera.cpp\n> +++ b/src/v4l2/v4l2_camera.cpp\n> @@ -9,7 +9,7 @@\n>\n>  #include <errno.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  using namespace libcamera;\n>\n> diff --git a/src/v4l2/v4l2_camera.h b/src/v4l2/v4l2_camera.h\n> index 130995d95eb4..c969130fb37d 100644\n> --- a/src/v4l2/v4l2_camera.h\n> +++ b/src/v4l2/v4l2_camera.h\n> @@ -17,7 +17,7 @@\n>  #include <libcamera/file_descriptor.h>\n>  #include <libcamera/framebuffer_allocator.h>\n>\n> -#include \"semaphore.h\"\n> +#include \"libcamera/internal/semaphore.h\"\n>\n>  using namespace libcamera;\n>\n> diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp\n> index 47d0528b324f..19e8f6d3b98d 100644\n> --- a/src/v4l2/v4l2_camera_proxy.cpp\n> +++ b/src/v4l2/v4l2_camera_proxy.cpp\n> @@ -17,8 +17,9 @@\n>  #include <libcamera/camera.h>\n>  #include <libcamera/object.h>\n>\n> -#include \"log.h\"\n> -#include \"utils.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +\n>  #include \"v4l2_camera.h\"\n>  #include \"v4l2_compat_manager.h\"\n>\n> diff --git a/src/v4l2/v4l2_compat_manager.cpp b/src/v4l2/v4l2_compat_manager.cpp\n> index 961d06b3e39a..cd8ac0b8e819 100644\n> --- a/src/v4l2/v4l2_compat_manager.cpp\n> +++ b/src/v4l2/v4l2_compat_manager.cpp\n> @@ -22,7 +22,7 @@\n>  #include <libcamera/camera.h>\n>  #include <libcamera/camera_manager.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n>\n>  using namespace libcamera;\n>\n> diff --git a/test/byte-stream-buffer.cpp b/test/byte-stream-buffer.cpp\n> index bc1d462ebf6f..d606f146f6ef 100644\n> --- a/test/byte-stream-buffer.cpp\n> +++ b/test/byte-stream-buffer.cpp\n> @@ -8,7 +8,8 @@\n>  #include <array>\n>  #include <iostream>\n>\n> -#include \"byte_stream_buffer.h\"\n> +#include \"libcamera/internal/byte_stream_buffer.h\"\n> +\n>  #include \"test.h\"\n>\n>  using namespace std;\n> diff --git a/test/camera-sensor.cpp b/test/camera-sensor.cpp\n> index 6069d668e495..8c7fd1d2d444 100644\n> --- a/test/camera-sensor.cpp\n> +++ b/test/camera-sensor.cpp\n> @@ -10,11 +10,11 @@\n>\n>  #include <linux/media-bus-format.h>\n>\n> -#include \"camera_sensor.h\"\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> -#include \"utils.h\"\n> -#include \"v4l2_subdevice.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n>\n>  #include \"test.h\"\n>\n> diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp\n> index 3f392cdc0732..ad680a83f918 100644\n> --- a/test/camera/buffer_import.cpp\n> +++ b/test/camera/buffer_import.cpp\n> @@ -12,9 +12,9 @@\n>  #include <numeric>\n>  #include <vector>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  #include \"buffer_source.h\"\n>  #include \"camera_test.h\"\n> diff --git a/test/controls/control_info_map.cpp b/test/controls/control_info_map.cpp\n> index eeb702db095b..e4305f132db7 100644\n> --- a/test/controls/control_info_map.cpp\n> +++ b/test/controls/control_info_map.cpp\n> @@ -12,7 +12,7 @@\n>  #include <libcamera/control_ids.h>\n>  #include <libcamera/controls.h>\n>\n> -#include \"camera_controls.h\"\n> +#include \"libcamera/internal/camera_controls.h\"\n>\n>  #include \"camera_test.h\"\n>  #include \"test.h\"\n> diff --git a/test/controls/control_list.cpp b/test/controls/control_list.cpp\n> index d51ec47d61d3..5c8485b5dcc3 100644\n> --- a/test/controls/control_list.cpp\n> +++ b/test/controls/control_list.cpp\n> @@ -12,7 +12,7 @@\n>  #include <libcamera/control_ids.h>\n>  #include <libcamera/controls.h>\n>\n> -#include \"camera_controls.h\"\n> +#include \"libcamera/internal/camera_controls.h\"\n>\n>  #include \"camera_test.h\"\n>  #include \"test.h\"\n> diff --git a/test/event-dispatcher.cpp b/test/event-dispatcher.cpp\n> index 9f9cf17818f2..1b61778699ed 100644\n> --- a/test/event-dispatcher.cpp\n> +++ b/test/event-dispatcher.cpp\n> @@ -13,8 +13,9 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/event-thread.cpp b/test/event-thread.cpp\n> index 01120733eca4..c90e6ac04dd3 100644\n> --- a/test/event-thread.cpp\n> +++ b/test/event-thread.cpp\n> @@ -13,8 +13,9 @@\n>  #include <libcamera/event_notifier.h>\n>  #include <libcamera/timer.h>\n>\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/event.cpp b/test/event.cpp\n> index 816060cc44a2..c865092c7a8a 100644\n> --- a/test/event.cpp\n> +++ b/test/event.cpp\n> @@ -13,8 +13,9 @@\n>  #include <libcamera/event_notifier.h>\n>  #include <libcamera/timer.h>\n>\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/file-descriptor.cpp b/test/file-descriptor.cpp\n> index e467f3a7145e..7477a843531c 100644\n> --- a/test/file-descriptor.cpp\n> +++ b/test/file-descriptor.cpp\n> @@ -13,8 +13,9 @@\n>\n>  #include <libcamera/file_descriptor.h>\n>\n> +#include \"libcamera/internal/utils.h\"\n> +\n>  #include \"test.h\"\n> -#include \"utils.h\"\n>\n>  using namespace libcamera;\n>  using namespace std;\n> diff --git a/test/file.cpp b/test/file.cpp\n> index 6558399808f8..6262a6f04c0b 100644\n> --- a/test/file.cpp\n> +++ b/test/file.cpp\n> @@ -13,7 +13,8 @@\n>  #include <sys/types.h>\n>  #include <unistd.h>\n>\n> -#include \"file.h\"\n> +#include \"libcamera/internal/file.h\"\n> +\n>  #include \"test.h\"\n>\n>  using namespace std;\n> diff --git a/test/ipa/ipa_interface_test.cpp b/test/ipa/ipa_interface_test.cpp\n> index 7fa88efee089..c394377dacd0 100644\n> --- a/test/ipa/ipa_interface_test.cpp\n> +++ b/test/ipa/ipa_interface_test.cpp\n> @@ -18,12 +18,13 @@\n>\n>  #include <ipa/ipa_vimc.h>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"ipa_manager.h\"\n> -#include \"ipa_module.h\"\n> -#include \"pipeline_handler.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/ipa_manager.h\"\n> +#include \"libcamera/internal/ipa_module.h\"\n> +#include \"libcamera/internal/pipeline_handler.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/ipa/ipa_module_test.cpp b/test/ipa/ipa_module_test.cpp\n> index e3aee190b410..bd5e0e4c738e 100644\n> --- a/test/ipa/ipa_module_test.cpp\n> +++ b/test/ipa/ipa_module_test.cpp\n> @@ -8,7 +8,7 @@\n>  #include <iostream>\n>  #include <string.h>\n>\n> -#include \"ipa_module.h\"\n> +#include \"libcamera/internal/ipa_module.h\"\n>\n>  #include \"test.h\"\n>\n> diff --git a/test/ipa/ipa_wrappers_test.cpp b/test/ipa/ipa_wrappers_test.cpp\n> index 4de132123525..aa7a9dcc6050 100644\n> --- a/test/ipa/ipa_wrappers_test.cpp\n> +++ b/test/ipa/ipa_wrappers_test.cpp\n> @@ -15,11 +15,11 @@\n>  #include <libcamera/controls.h>\n>  #include <libipa/ipa_interface_wrapper.h>\n>\n> -#include \"camera_sensor.h\"\n> -#include \"device_enumerator.h\"\n> -#include \"ipa_context_wrapper.h\"\n> -#include \"media_device.h\"\n> -#include \"v4l2_subdevice.h\"\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/ipa_context_wrapper.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n>\n>  #include \"test.h\"\n>\n> diff --git a/test/ipc/unixsocket.cpp b/test/ipc/unixsocket.cpp\n> index f53042b88720..4487d27b441d 100644\n> --- a/test/ipc/unixsocket.cpp\n> +++ b/test/ipc/unixsocket.cpp\n> @@ -18,10 +18,11 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>\n> -#include \"ipc_unixsocket.h\"\n> +#include \"libcamera/internal/ipc_unixsocket.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n> -#include \"utils.h\"\n>\n>  #define CMD_CLOSE\t0\n>  #define CMD_REVERSE\t1\n> diff --git a/test/libtest/buffer_source.cpp b/test/libtest/buffer_source.cpp\n> index d1dad2a0f8cf..ee87c8cd821c 100644\n> --- a/test/libtest/buffer_source.cpp\n> +++ b/test/libtest/buffer_source.cpp\n> @@ -10,7 +10,7 @@\n>  #include <iostream>\n>  #include <memory>\n>\n> -#include \"device_enumerator.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n>\n>  #include \"test.h\"\n>\n> diff --git a/test/libtest/buffer_source.h b/test/libtest/buffer_source.h\n> index ae0879c99480..95a82a8229fa 100644\n> --- a/test/libtest/buffer_source.h\n> +++ b/test/libtest/buffer_source.h\n> @@ -9,8 +9,8 @@\n>\n>  #include <libcamera/libcamera.h>\n>\n> -#include \"media_device.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  using namespace libcamera;\n>\n> diff --git a/test/libtest/meson.build b/test/libtest/meson.build\n> index 481f6d6baa61..542335ea5e7c 100644\n> --- a/test/libtest/meson.build\n> +++ b/test/libtest/meson.build\n> @@ -15,7 +15,6 @@ test_includes_public = [\n>\n>  test_includes_internal = [\n>      test_includes_public,\n> -    libcamera_internal_includes,\n>  ]\n>\n>  libtest = static_library('libtest', libtest_sources,\n> diff --git a/test/log/log_api.cpp b/test/log/log_api.cpp\n> index 33622f841253..6f3248a79d0a 100644\n> --- a/test/log/log_api.cpp\n> +++ b/test/log/log_api.cpp\n> @@ -18,7 +18,8 @@\n>\n>  #include <libcamera/logging.h>\n>\n> -#include \"log.h\"\n> +#include \"libcamera/internal/log.h\"\n> +\n>  #include \"test.h\"\n>\n>  using namespace std;\n> diff --git a/test/log/log_process.cpp b/test/log/log_process.cpp\n> index 2df4aa43713c..8463d0ede967 100644\n> --- a/test/log/log_process.cpp\n> +++ b/test/log/log_process.cpp\n> @@ -18,11 +18,12 @@\n>  #include <libcamera/logging.h>\n>  #include <libcamera/timer.h>\n>\n> -#include \"log.h\"\n> -#include \"process.h\"\n> +#include \"libcamera/internal/log.h\"\n> +#include \"libcamera/internal/process.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n> -#include \"utils.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/media_device/media_device_print_test.cpp b/test/media_device/media_device_print_test.cpp\n> index 5018906c75e7..1f5e3f3e84c0 100644\n> --- a/test/media_device/media_device_print_test.cpp\n> +++ b/test/media_device/media_device_print_test.cpp\n> @@ -10,7 +10,7 @@\n>  #include <sys/stat.h>\n>  #include <unistd.h>\n>\n> -#include \"media_device.h\"\n> +#include \"libcamera/internal/media_device.h\"\n>\n>  #include \"test.h\"\n>\n> diff --git a/test/media_device/media_device_test.h b/test/media_device/media_device_test.h\n> index cdbd14841d5c..0c8bf9f25563 100644\n> --- a/test/media_device/media_device_test.h\n> +++ b/test/media_device/media_device_test.h\n> @@ -9,8 +9,8 @@\n>\n>  #include <memory>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n>\n>  #include \"test.h\"\n>\n> diff --git a/test/message.cpp b/test/message.cpp\n> index 478bc79dffa6..9553ba8cbaed 100644\n> --- a/test/message.cpp\n> +++ b/test/message.cpp\n> @@ -9,8 +9,9 @@\n>  #include <iostream>\n>  #include <thread>\n>\n> -#include \"message.h\"\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/message.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"test.h\"\n>\n>  using namespace std;\n> diff --git a/test/object-invoke.cpp b/test/object-invoke.cpp\n> index fa162c838c78..1ae11bb11e16 100644\n> --- a/test/object-invoke.cpp\n> +++ b/test/object-invoke.cpp\n> @@ -11,8 +11,9 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/object.h>\n>\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/object.cpp b/test/object.cpp\n> index 16118971c755..264659b405d9 100644\n> --- a/test/object.cpp\n> +++ b/test/object.cpp\n> @@ -9,8 +9,8 @@\n>\n>  #include <libcamera/object.h>\n>\n> -#include \"message.h\"\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/message.h\"\n> +#include \"libcamera/internal/thread.h\"\n>\n>  #include \"test.h\"\n>\n> diff --git a/test/pipeline/ipu3/ipu3_pipeline_test.cpp b/test/pipeline/ipu3/ipu3_pipeline_test.cpp\n> index a5c6be0955df..34998f8f6d04 100644\n> --- a/test/pipeline/ipu3/ipu3_pipeline_test.cpp\n> +++ b/test/pipeline/ipu3/ipu3_pipeline_test.cpp\n> @@ -13,9 +13,10 @@\n>  #include <libcamera/camera.h>\n>  #include <libcamera/camera_manager.h>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> -#include \"media_object.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/media_object.h\"\n> +\n>  #include \"test.h\"\n>\n>  using namespace std;\n> diff --git a/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp b/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp\n> index d46c928fbaf7..b6678ce76e9a 100644\n> --- a/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp\n> +++ b/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp\n> @@ -16,9 +16,10 @@\n>  #include <libcamera/camera.h>\n>  #include <libcamera/camera_manager.h>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> -#include \"media_object.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/media_object.h\"\n> +\n>  #include \"test.h\"\n>\n>  using namespace std;\n> diff --git a/test/process/process_test.cpp b/test/process/process_test.cpp\n> index 7e7b3c2c8bf3..ce0cc7c972cd 100644\n> --- a/test/process/process_test.cpp\n> +++ b/test/process/process_test.cpp\n> @@ -12,10 +12,11 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>\n> -#include \"process.h\"\n> +#include \"libcamera/internal/process.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n> -#include \"utils.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/serialization/control_serialization.cpp b/test/serialization/control_serialization.cpp\n> index 111365241eb8..e23383d13bd6 100644\n> --- a/test/serialization/control_serialization.cpp\n> +++ b/test/serialization/control_serialization.cpp\n> @@ -11,8 +11,9 @@\n>  #include <libcamera/control_ids.h>\n>  #include <libcamera/controls.h>\n>\n> -#include \"byte_stream_buffer.h\"\n> -#include \"control_serializer.h\"\n> +#include \"libcamera/internal/byte_stream_buffer.h\"\n> +#include \"libcamera/internal/control_serializer.h\"\n> +\n>  #include \"serialization_test.h\"\n>  #include \"test.h\"\n>\n> diff --git a/test/signal-threads.cpp b/test/signal-threads.cpp\n> index f77733ebc030..3c5f3792e385 100644\n> --- a/test/signal-threads.cpp\n> +++ b/test/signal-threads.cpp\n> @@ -9,10 +9,11 @@\n>  #include <iostream>\n>  #include <thread>\n>\n> -#include \"message.h\"\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/message.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +\n>  #include \"test.h\"\n> -#include \"utils.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/threads.cpp b/test/threads.cpp\n> index 0454761de12c..b4b8d913cd2b 100644\n> --- a/test/threads.cpp\n> +++ b/test/threads.cpp\n> @@ -9,7 +9,8 @@\n>  #include <iostream>\n>  #include <thread>\n>\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"test.h\"\n>\n>  using namespace std;\n> diff --git a/test/timer-thread.cpp b/test/timer-thread.cpp\n> index 32853b4e80ef..2f901787f5fb 100644\n> --- a/test/timer-thread.cpp\n> +++ b/test/timer-thread.cpp\n> @@ -11,8 +11,9 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/timer.cpp b/test/timer.cpp\n> index 2bdb006edccb..7d5b93c37799 100644\n> --- a/test/timer.cpp\n> +++ b/test/timer.cpp\n> @@ -11,8 +11,9 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"test.h\"\n> -#include \"thread.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/utils.cpp b/test/utils.cpp\n> index 55ce9365a53e..66b91f1203e1 100644\n> --- a/test/utils.cpp\n> +++ b/test/utils.cpp\n> @@ -12,8 +12,9 @@\n>\n>  #include <libcamera/geometry.h>\n>\n> +#include \"libcamera/internal/utils.h\"\n> +\n>  #include \"test.h\"\n> -#include \"utils.h\"\n>\n>  using namespace std;\n>  using namespace libcamera;\n> diff --git a/test/v4l2_subdevice/list_formats.cpp b/test/v4l2_subdevice/list_formats.cpp\n> index 067dc5ed30f4..25503c3334e5 100644\n> --- a/test/v4l2_subdevice/list_formats.cpp\n> +++ b/test/v4l2_subdevice/list_formats.cpp\n> @@ -11,7 +11,8 @@\n>\n>  #include <libcamera/geometry.h>\n>\n> -#include \"v4l2_subdevice.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n> +\n>  #include \"v4l2_subdevice_test.h\"\n>\n>  using namespace std;\n> diff --git a/test/v4l2_subdevice/test_formats.cpp b/test/v4l2_subdevice/test_formats.cpp\n> index 5cf5d5664b04..9635c9948946 100644\n> --- a/test/v4l2_subdevice/test_formats.cpp\n> +++ b/test/v4l2_subdevice/test_formats.cpp\n> @@ -8,7 +8,8 @@\n>  #include <iostream>\n>  #include <limits.h>\n>\n> -#include \"v4l2_subdevice.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n> +\n>  #include \"v4l2_subdevice_test.h\"\n>\n>  using namespace std;\n> diff --git a/test/v4l2_subdevice/v4l2_subdevice_test.cpp b/test/v4l2_subdevice/v4l2_subdevice_test.cpp\n> index 562a638cb28e..d8fbfd9f6b0f 100644\n> --- a/test/v4l2_subdevice/v4l2_subdevice_test.cpp\n> +++ b/test/v4l2_subdevice/v4l2_subdevice_test.cpp\n> @@ -9,9 +9,10 @@\n>  #include <string.h>\n>  #include <sys/stat.h>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> -#include \"v4l2_subdevice.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n> +\n>  #include \"v4l2_subdevice_test.h\"\n>\n>  using namespace std;\n> diff --git a/test/v4l2_subdevice/v4l2_subdevice_test.h b/test/v4l2_subdevice/v4l2_subdevice_test.h\n> index 3bce6691f8ef..00c6399d3b8a 100644\n> --- a/test/v4l2_subdevice/v4l2_subdevice_test.h\n> +++ b/test/v4l2_subdevice/v4l2_subdevice_test.h\n> @@ -10,10 +10,11 @@\n>\n>  #include <libcamera/buffer.h>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n> +\n>  #include \"test.h\"\n> -#include \"v4l2_subdevice.h\"\n>\n>  using namespace libcamera;\n>\n> diff --git a/test/v4l2_videodevice/buffer_sharing.cpp b/test/v4l2_videodevice/buffer_sharing.cpp\n> index 14d3055ad7d1..ba2cc40d7294 100644\n> --- a/test/v4l2_videodevice/buffer_sharing.cpp\n> +++ b/test/v4l2_videodevice/buffer_sharing.cpp\n> @@ -16,7 +16,8 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"v4l2_videodevice_test.h\"\n>\n>  class BufferSharingTest : public V4L2VideoDeviceTest\n> diff --git a/test/v4l2_videodevice/capture_async.cpp b/test/v4l2_videodevice/capture_async.cpp\n> index b38aabc6263d..13cbcc80b52b 100644\n> --- a/test/v4l2_videodevice/capture_async.cpp\n> +++ b/test/v4l2_videodevice/capture_async.cpp\n> @@ -11,7 +11,8 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>\n> -#include \"thread.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +\n>  #include \"v4l2_videodevice_test.h\"\n>\n>  class CaptureAsyncTest : public V4L2VideoDeviceTest\n> diff --git a/test/v4l2_videodevice/controls.cpp b/test/v4l2_videodevice/controls.cpp\n> index 347af2112f1a..9f09d036e83a 100644\n> --- a/test/v4l2_videodevice/controls.cpp\n> +++ b/test/v4l2_videodevice/controls.cpp\n> @@ -10,7 +10,7 @@\n>  #include <iostream>\n>  #include <limits.h>\n>\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  #include \"v4l2_videodevice_test.h\"\n>\n> diff --git a/test/v4l2_videodevice/formats.cpp b/test/v4l2_videodevice/formats.cpp\n> index a74214215faf..043732dcaba1 100644\n> --- a/test/v4l2_videodevice/formats.cpp\n> +++ b/test/v4l2_videodevice/formats.cpp\n> @@ -8,8 +8,8 @@\n>  #include <iostream>\n>  #include <limits.h>\n>\n> -#include \"utils.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/utils.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  #include \"v4l2_videodevice_test.h\"\n>\n> diff --git a/test/v4l2_videodevice/v4l2_m2mdevice.cpp b/test/v4l2_videodevice/v4l2_m2mdevice.cpp\n> index d20e5dfc3077..44a39d4d8ab7 100644\n> --- a/test/v4l2_videodevice/v4l2_m2mdevice.cpp\n> +++ b/test/v4l2_videodevice/v4l2_m2mdevice.cpp\n> @@ -11,10 +11,10 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> -#include \"thread.h\"\n> -#include \"v4l2_videodevice.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/thread.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n>\n>  #include \"test.h\"\n>\n> diff --git a/test/v4l2_videodevice/v4l2_videodevice_test.cpp b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> index 93b9e72da5b4..f23aaf8f514b 100644\n> --- a/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> +++ b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> @@ -9,11 +9,11 @@\n>\n>  #include <linux/media-bus-format.h>\n>\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +\n>  #include \"v4l2_videodevice_test.h\"\n>\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> -\n>  using namespace std;\n>  using namespace libcamera;\n>\n> diff --git a/test/v4l2_videodevice/v4l2_videodevice_test.h b/test/v4l2_videodevice/v4l2_videodevice_test.h\n> index 9acaceb84fe0..21054561e068 100644\n> --- a/test/v4l2_videodevice/v4l2_videodevice_test.h\n> +++ b/test/v4l2_videodevice/v4l2_videodevice_test.h\n> @@ -11,14 +11,14 @@\n>\n>  #include <libcamera/buffer.h>\n>\n> +#include \"libcamera/internal/camera_sensor.h\"\n> +#include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/v4l2_subdevice.h\"\n> +#include \"libcamera/internal/v4l2_videodevice.h\"\n> +\n>  #include \"test.h\"\n>\n> -#include \"camera_sensor.h\"\n> -#include \"device_enumerator.h\"\n> -#include \"media_device.h\"\n> -#include \"v4l2_subdevice.h\"\n> -#include \"v4l2_videodevice.h\"\n> -\n>  using namespace libcamera;\n>\n>  class V4L2VideoDeviceTest : public Test\n> --\n> Regards,\n>\n> Laurent Pinchart\n>\n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<jacopo@jmondi.org>","Received":["from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net\n\t[217.70.183.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EE1EC60DF9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 May 2020 18:46:38 +0200 (CEST)","from uno.localdomain (93-34-118-233.ip49.fastwebnet.it\n\t[93.34.118.233]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 2D66560005;\n\tFri, 15 May 2020 16:46:37 +0000 (UTC)"],"X-Originating-IP":"93.34.118.233","Date":"Fri, 15 May 2020 18:49:52 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20200515164952.d6euopyfjxxpktbb@uno.localdomain>","References":"<20200515163505.24330-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20200515163505.24330-1-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 1/3] libcamera: Move internal\n\theaders to include/libcamera/internal/","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Fri, 15 May 2020 16:46:39 -0000"}}]