[libcamera-devel] [PATCH v2] meson: summarise paths

Umang Jain umang.jain at ideasonboard.com
Tue Jun 15 14:32:46 CEST 2021


Hi Kieran,

On 6/15/21 5:29 PM, Kieran Bingham wrote:
> Hi Umang,
>
> On 15/06/2021 08:08, Umang Jain wrote:
>> Hi Kieran,
>>
>> On 6/14/21 6:54 PM, Kieran Bingham wrote:
>>> The IPAs are loaded from a defined location set as IPA_MODULE_DIR.
>>> Further more, configuration files for both libcamera and IPAs are loaded
>>> from paths defined during the meson configuration.
>>>
>>> To make it easy to identify these locations for a given configuration,
>>> present them as a 'paths' section in the meson summary.
>>>
>>> This adds a summary section to meson in the form:
>>>
>>>     Paths
>>>       LIBCAMERA_DATA_DIR       : "/usr/share/libcamera"
>>>       LIBCAMERA_SYSCONF_DIR    : "/etc/camera/libcamera"
>>>       IPA_PROXY_DIR            : "/usr/libexec/libcamera"
>>>       IPA_CONFIG_DIR           :
>>> "/etc/camera/libcamera/ipa:/usr/share/libcamera/ipa"
>> I found that IPA_PROXY_DIR and IPA_CONFIG_DIR can be probably be
>> over-ridden
>> by environment variables LIBCAMERA_IPA_PROXY_PATH and
>> LIBCAMERA_IPA_CONFIG_PATH
>> respectively. If these env variables are in effect, and we show meson
>> configuration values
>> for these two, I think we will have a problem.
>
> Yes, they can be overridden - that's sort of the point of them.
> But the reason I wanted to have them displayed by meson, is that it's
> not clear what the defaults are...
>
>
> These are printing the compiled in defaults - if a user overrides it
> with an environment variable, well then at that point we expect them to
> know what they have set it to.
Ok,  I was under the impression that we should correctly show the paths 
where things will
eventually get installed.

Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>


>
>
>>>       IPA_MODULE_DIR           : "/usr/lib/x86_64-linux-gnu/libcamera"
>> hmm, I have always seen IPA module dir as /usr/lib64/. Is this the path
>> picked up by soraka's platform? Just curious.
> Because precisely that - it's platform specific.
>
> /usr/lib/x86_64-linux-gnu/libcamera
> is the path used when building on Ubuntu.
>
> However, as you've seen - ChromeOS will install to /usr/lib64/
>
>
>>> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>>> ---
>>>    src/ipa/meson.build                    | 5 +++++
>>>    src/libcamera/proxy/worker/meson.build | 4 ++++
>>>    src/meson.build                        | 5 +++++
>>>    3 files changed, 14 insertions(+)
>>>
>>> diff --git a/src/ipa/meson.build b/src/ipa/meson.build
>>> index 49245e5e91f3..e15a8a066f07 100644
>>> --- a/src/ipa/meson.build
>>> +++ b/src/ipa/meson.build
>>> @@ -15,6 +15,11 @@ config_h.set('IPA_CONFIG_DIR',
>>>    config_h.set('IPA_MODULE_DIR',
>>>                 '"' + get_option('prefix') / ipa_install_dir + '"')
>>>    +summary({
>>> +         'IPA_CONFIG_DIR' : config_h.get('IPA_CONFIG_DIR'),
>>> +         'IPA_MODULE_DIR' : config_h.get('IPA_MODULE_DIR'),
>>> +         }, section : 'Paths')
>>> +
>>>    subdir('libipa')
>>>      ipa_sign = files('ipa-sign.sh')
>>> diff --git a/src/libcamera/proxy/worker/meson.build
>>> b/src/libcamera/proxy/worker/meson.build
>>> index 40dada9db1e5..28fe5f1fd6b2 100644
>>> --- a/src/libcamera/proxy/worker/meson.build
>>> +++ b/src/libcamera/proxy/worker/meson.build
>>> @@ -26,3 +26,7 @@ endforeach
>>>      config_h.set('IPA_PROXY_DIR',
>>>                 '"' + get_option('prefix') / proxy_install_dir + '"')
>>> +
>>> +summary({
>>> +         'IPA_PROXY_DIR' : config_h.get('IPA_PROXY_DIR'),
>>> +         }, section : 'Paths')
>>> diff --git a/src/meson.build b/src/meson.build
>>> index a6e4eb21b796..a4e96ecd728a 100644
>>> --- a/src/meson.build
>>> +++ b/src/meson.build
>>> @@ -8,6 +8,11 @@ libcamera_sysconfdir = get_option('sysconfdir') /
>>> 'libcamera'
>>>    config_h.set('LIBCAMERA_DATA_DIR', '"' + get_option('prefix') /
>>> libcamera_datadir + '"')
>>>    config_h.set('LIBCAMERA_SYSCONF_DIR', '"' + get_option('prefix') /
>>> libcamera_sysconfdir + '"')
>>>    +summary({
>>> +         'LIBCAMERA_DATA_DIR' : config_h.get('LIBCAMERA_DATA_DIR'),
>>> +         'LIBCAMERA_SYSCONF_DIR' :
>>> config_h.get('LIBCAMERA_SYSCONF_DIR'),
>>> +         }, section : 'Paths')
>>> +
>>>    # Module Signing
>>>    openssl = find_program('openssl', required : true)
>>>    if openssl.found()


More information about the libcamera-devel mailing list