#1, if you use the env.Function() form of something, it implies you're
passing env, right?
I'm wondering because I see this construct:
connectivity_env.SConscript('#common/SConscript'), exports =
'connectivity_env')
is the exports part in this invocation redundant?
#2, it seems scripts call other scripts (especially ones in extlibs) to
make sure some dependency is in place, and occasionally to fetch some
related variables. But it seems to me you should only need to do this
once... if such subsidiary SConscripts properly export any needed things
that should appear in the global environment.
Does it make sense to try to set things up so sconscripts are called
only once? or is that wasted effort?
I did a quick hack to have each sconscript set a global variable based
on its path, and on entry check if it was already set (fortunately
making this change was easily scriptable so it was quite quite to try
out). (fwiw this is conceptually what the Windows case does in the
gtest sconscript to avoid multiple builds) Here are the reports of
"been here already":
XXX BUILD_COMMON_EXTBUILD already visited
XXX OUT_LINUX_X86_64_RELEASE_RESOURCE_CSDK_CONNECTIVITY_SRC_IP_ADAPTER
already visited
XXX
OUT_LINUX_X86_64_RELEASE_RESOURCE_CSDK_CONNECTIVITY_SRC_BT_LE_ADAPTER
already visited
XXX RESOURCE_CSDK_CONNECTIVITY_SRC_BT_LE_ADAPTER_LINUX already visited
XXX RESOURCE_3PLIBS already visited
XXX BUILD_COMMON_THREAD already visited
XXX RESOURCE_3PLIBS already visited
XXX RESOURCE_3PLIBS already visited
XXX RESOURCE_3PLIBS already visited
XXX BUILD_COMMON_THREAD already visited
XXX RESOURCE_3PLIBS already visited
XXX RESOURCE_3PLIBS already visited
XXX BUILD_COMMON_THREAD already visited
XXX RESOURCE_3PLIBS already visited
XXX BUILD_COMMON_THREAD already visited
XXX RESOURCE_3PLIBS already visited
XXX EXTLIBS_GTEST already visited
XXX EXTLIBS_HIPPOMOCKS already visited
XXX OUT_LINUX_X86_64_RELEASE_RESOURCE_UNITTESTS already visited
XXX RESOURCE_3PLIBS already visited
XXX EXTLIBS_GTEST already visited
XXX EXTLIBS_GTEST already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX EXTLIBS_GTEST already visited
XXX SERVICE_3PLIBS already visited
XXX EXTLIBS_HIPPOMOCKS already visited
XXX EXTLIBS_GTEST already visited
XXX SERVICE_3PLIBS already visited
XXX EXTLIBS_GTEST already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX EXTLIBS_GTEST already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX EXTLIBS_GTEST already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX SERVICE_3PLIBS already visited
XXX EXTLIBS_GTEST already visited