<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p>Sorry for the cross-post - but is this working as expected with you?</p>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Takashi Matsuzawa<br>
<b>Sent:</b> Thursday, May 25, 2017 3:26 PM<br>
<b>To:</b> yocto@yoctoproject.org<br>
<b>Cc:</b> Nicolas Dechesne<br>
<b>Subject:</b> Re: [yocto] dynamic-layers?</font>
<div> </div>
</div>
<div>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Hello.</p>
<p><br>
</p>
<p>I further did some debugging and BBFOLE_COLLECTION when used in the following 'for' expansion contains only subset of what is avilable finally in BBFILE_COLLECTION (as appears in '-e' log).</p>
<p><br>
</p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont; font-size:13.3333px">>BBFILES += "${@' </span><span style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont; font-size:13.3333px"> '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend'
 % layer \</span><br style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont; font-size:13.3333px">
<span style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont; font-size:13.3333px">>               for layer in BBFILE_COLLECTIONS.split())}"</span><br>
</p>
<div><br>
</div>
<div>I am confused if this is a normal behavior.</div>
<div><br>
</div>
<div style="color:rgb(0,0,0)">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Takashi Matsuzawa<br>
<b>Sent:</b> Thursday, May 25, 2017 10:03 AM<br>
<b>To:</b> Nicolas Dechesne<br>
<b>Cc:</b> yocto@yoctoproject.org<br>
<b>Subject:</b> Re: [yocto] dynamic-layers?</font>
<div> </div>
</div>
<div>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif">
<p></p>
<div>Hello.</div>
<div><br>
</div>
<div>>e.g. if you have meta-qt5 in BBLAYERS in <build>/conf/bblayers.conf, then the recipes from "dynamic-layers/qt5-layer" are used as well.</div>
<div><br>
</div>
<div>Thanks now I can see how it is expected to work.</div>
<div>My issue here now is that some dynamyc-layers/<layer> not being added to BBFILES list.</div>
<div><br>
</div>
<div>I tried '-e' switch with my build tree and here is what I can see.</div>
<div>I think this is caused by BBFILE_COLLECTIONS evaluation timing? - but I am still looking into to find the cause.</div>
<div><br>
</div>
<div>1) .conf files read</div>
<div><br>
</div>
<div>I think these are the conf files recognized by the build sytem.</div>
<div>I cansee meta-qt5 there.</div>
<div><br>
</div>
<div>#</div>
<div># INCLUDE HISTORY:</div>
<div>#</div>
<div># /home/xxx/build-root/build/conf/bblayers.conf</div>
<div># /home/xxx/build-root/meta-freescale/conf/layer.conf</div>
<div># /home/xxx/build-root/meta-freescale-3rdparty/conf/layer.conf</div>
<div># /home/xxx/build-root/meta-freescale-distro/conf/layer.conf</div>
<div># /home/xxx/build-root/meta-agl/meta-netboot/conf/layer.conf</div>
<div># /home/xxx/build-root/meta-intel-iot-security/meta-security-smack/conf/layer.conf</div>
<div># /home/xxx/build-root/meta-intel-iot-security/meta-security-framework/conf/layer.conf</div>
<div># /home/xxx/build-root/meta-agl/meta-app-framework/conf/layer.conf</div>
<div># /home/xxx/build-root/meta-qt5/conf/layer.conf</div>
<div>...</div>
<div><br>
</div>
<div>2) BBFILE_COLLECTIONS</div>
<div><br>
</div>
<div>And I can see 'qt5-layer' is being added to BBFILE_COLLECTIONS, so it 'qt5-layer' folder in every dynamic-layers should be picked into BBFILE list.</div>
<div><br>
</div>
<div>BBFILE_COLLECTIONS=" freescale-layer fsl-arm-extra fsl-demos</div>
<div>meta-netboot security-smack security-framework app-framework qt5-layer</div>
<div>agl-demo openembedded-layer multimedia-layer efl-layer</div>
<div>networking-layer meta-python ivi-common agl agl-distro aglbsp core</div>
<div>yocto"</div>
<div><br>
</div>
<div>3) BBFILES</div>
<div><br>
</div>
<div>But I cannot find it in BBFILES list.</div>
<div>Only the first 4 layers (freescale-layer/fsl-arm-extra/fsl-demos/meta-netboot) in BBFILE_COLLECTIONS are used in wildecard parameter.</div>
<div><br>
</div>
<div>BBFILES="/home/xxx/build-root/meta-freescale/recipes-*/*/*.bb</div>
<div>/home/xxx/build-root/meta-freescale/recipes-*/*/*.bbappend</div>
<div>/home/xxx/build-root/meta-freescale/dynamic-layers/freescale-layer/recipes*/*/*.bbappend</div>
<div>/home/xxx/build-root/meta-freescale/dynamic-layers/fsl-arm-extra/recipes*/*/*.bbappend</div>
<div>/home/xxx/build-root/meta-freescale/dynamic-layers/fsl-demos/recipes*/*/*.bbappend</div>
<div>/home/xxx/build-root/meta-freescale/dynamic-layers/meta-netboot/recipes*/*/*.bbappend</div>
<div>/home/xxx/build-root/meta-freescale/dynamic-layers/freescale-layer/recipes*/*/*.bb</div>
<div>/home/xxx/build-root/meta-freescale/dynamic-layers/fsl-arm-extra/recipes*/*/*.bb</div>
<div>/home/xxx/build-root/meta-freescale/dynamic-layers/fsl-demos/recipes*/*/*.bb</div>
<div>/home/xxx/build-root/meta-freescale/dynamic-layers/meta-netboot/recipes*/*/*.bb</div>
<div>/home/xxx/build-root/meta-freescale-3rdparty/recipes-*/*/*.bb</div>
<div>/home/xxx/build-root/meta-freescale-3rdparty/recipes-*/*/*.bbappend</div>
<div>...</div>
<div><br>
</div>
<p></p>
<br>
<div style="color:rgb(0,0,0)">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Nicolas Dechesne <nicolas.dechesne@linaro.org><br>
<b>Sent:</b> Wednesday, May 24, 2017 11:19 PM<br>
<b>To:</b> Takashi Matsuzawa<br>
<b>Cc:</b> yocto@yoctoproject.org<br>
<b>Subject:</b> Re: [yocto] dynamic-layers?</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt">
<div class="PlainText">On Wed, May 24, 2017 at 12:30 PM, Takashi Matsuzawa <tmatsuzawa@xevo.com> wrote:<br>
> Hello, Yocto.<br>
> I am a bit confused with dynamic-layers included in some of the recent<br>
> layers in various BSPs.<br>
><br>
> e.g.<br>
><br>
> <a href="https://github.com/Freescale/meta-freescale/blob/master/conf/layer.conf" id="LPlnk998740" previewremoved="true">
https://github.com/Freescale/meta-freescale/blob/master/conf/layer.conf</a><br>
<br>
><br>
>># The .bbappend and .bb files are included if the respective layer<br>
>># collection is available.<br>
>>BBFILES += "${@'<br>
>> '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \<br>
>>               for layer in BBFILE_COLLECTIONS.split())}"<br>
>>BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' %<br>
>> layer \<br>
>>               for layer in BBFILE_COLLECTIONS.split())}"<br>
><br>
> In meta-freescale/dynamic-layers, there are browser-layer, efi-layer, etc.<br>
> for conditional inclusion.<br>
> And I think they are included only their names (browser-layer, etc.) are<br>
> BBFILE_COLLECIONS.<br>
><br>
> Question here is, who will be adding 'browser-layer' to BBFILE_COLLECTIONS<br>
> when I want to include browser-layer in my build.<br>
><br>
> Is it something to be done in my local.conf or customized distro conf file?<br>
<br>
what that means is that recipe from the dynamic-layers/<layer> will be<br>
parsed/added *only if* <layer> is already added in your build<br>
environment. e.g. if you have meta-qt5 in BBLAYERS in<br>
<build>/conf/bblayers.conf, then the recipes from<br>
"dynamic-layers/qt5-layer" are used as well.<br>
<br>
This is mostly to allow a BSP layer to be used with as many<br>
combinations of layers as possible.<br>
</div>
</span></font></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>