meson: Fix usage of overwritten pipeline variable

When iterating over enabled pipelines and IPA modules, libcamera
descends into subdirectories in a recursive manner, which involves
nested loops. Both the outer and inner loops use the same loop variable
named 'pipeline'. As the outer loop uses the variable after descending
into the inner directory, it ends up using an incorrect value. Fix it by
moving all use of the variable before the subdir() call, and add a
comment that warns about the issue to avoid reintroducing it.

Fixes: e8526c0c2b ("ipa: meson: Allow nested IPA directory structures")
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
This commit is contained in:
Laurent Pinchart
2023-05-08 15:50:26 +03:00
parent 120e313450
commit e8fccaea46
2 changed files with 8 additions and 2 deletions

View File

@@ -52,8 +52,11 @@ foreach pipeline : pipelines
continue
endif
subdir(pipeline)
subdirs += pipeline
subdir(pipeline)
# Don't reuse the pipeline variable below, the subdirectory may have
# overwritten it.
endforeach
# The ipa-sign-install.sh script which uses the enabled_ipa_modules variable

View File

@@ -12,6 +12,9 @@ foreach pipeline : pipelines
continue
endif
subdir(pipeline)
subdirs += pipeline
subdir(pipeline)
# Don't reuse the pipeline variable below, the subdirectory may have
# overwritten it.
endforeach