<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 25, 2016 at 9:49 AM, Christopher Larson <span dir="ltr"><<a href="mailto:kergoth@gmail.com" target="_blank">kergoth@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":25j" class="a3s aXjCH m154e8d190d6a32b4">From: Christopher Larson <<a href="mailto:chris_larson@mentor.com">chris_larson@mentor.com</a>><br>
<br>
The majority of our global exports are only needed for the build tasks, so<br>
switch them to those tasks (configure/compile/install, but not<br>
populate_sysroot or package).<br>
<br>
Kept global exports: PATH, PSEUDO_DISABLED, LC_ALL, CCACHE_DIR, CCACHE_DISABLE<br>
<br>
The variables which are exported by default are listed in logically grouped<br>
variables, to make it easy to add or remove them from task exports:<br>
<br>
- PKG_CONFIG_EXPORTS: PKG_CONFIG_DIR, etc<br>
- BUILD_EXPORTS: BUILD_CC, etc<br>
- TARGET_EXPORTS: TARGET_CC, etc<br>
- TARGET_PATH_EXPORTS: prefix, bindir, etc<br>
<br>
Intermediate variables are added as well, to ease usage and avoid the need to<br>
mess with the flags directly for the common cases:<br>
<br>
- CONFIGURE_EXPORTS<br>
- COMPILE_EXPORTS<br>
- INSTALL_EXPORTS<br>
- POPULATE_SYSROOT_EXPORTS<br>
- PACKAGE_EXPORTS<br>
<br>
Future patches will pare down the exports from here. Specifically removing the<br>
default export of BUILD_EXPORTS, TARGET_EXPORTS, and TARGET_PATH_EXPORTS, none<br>
of which are consistently used by the buildsystems we're calling into.<br>
<br>
This is placed into conf/task-exports.conf, to avoid cluttering up<br>
bitbake.conf any further.<br>
<br>
Signed-off-by: Christopher Larson <<a href="mailto:chris_larson@mentor.com">chris_larson@mentor.com</a>></div></blockquote></div><br>There are a couple exceptions for particular cases above and beyond this patch, but not many, and I'm looking for thoughts on the approach and direction here. Does this seem like a reasonable way to go?</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thinking about it, I should probably have mentioned the motivation behind this in the commit message, I'll fix that. The issue is, global exports (variables flagged as 'export') end up in the checksum of every single task, as bitbake can't know where it's used and where it isn't, so I think there's value in paring that down to make the checksums a bit less brittle.<br>-- <br><div class="gmail_signature"><div dir="ltr">Christopher Larson<br>kergoth at gmail dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics</div></div>
</div></div>