@@ -660,8 +660,13 @@ def _load_dependencies_modules(self, silent=False):
660660 """Load modules for dependencies, and handle special cases like external modules."""
661661 # For SYSTEM software we allow using dependencies from any toolchain so we need to use the full
662662 # module name to allow loading them in the hierarchical MNS
663- mod_name_key = 'full_mod_name' if self .is_system_toolchain () else 'short_mod_name'
664- dep_mods = [dep [mod_name_key ] for dep in self .dependencies ]
663+ is_system_toolchain = self .is_system_toolchain ()
664+
665+ def get_module_name (dep ):
666+ key = 'full_mod_name' if is_system_toolchain and not dep [SYSTEM_TOOLCHAIN_NAME ] else 'short_mod_name'
667+ return dep [key ]
668+
669+ dep_mods = [get_module_name (dep ) for dep in self .dependencies ]
665670
666671 if self .dry_run :
667672 dry_run_msg ("\n Loading modules for dependencies...\n " , silent = silent )
@@ -670,7 +675,7 @@ def _load_dependencies_modules(self, silent=False):
670675
671676 # load available modules for dependencies, simulate load for others
672677 for dep , dep_mod_exists in zip (self .dependencies , mods_exist ):
673- mod_name = dep [ mod_name_key ]
678+ mod_name = get_module_name ( dep )
674679 if dep_mod_exists :
675680 self .modules_tool .load ([mod_name ])
676681 dry_run_msg ("module load %s" % mod_name , silent = silent )
@@ -686,15 +691,15 @@ def _load_dependencies_modules(self, silent=False):
686691 self .modules_tool .load (dep_mods )
687692
688693 if self .dependencies :
689- build_dep_mods = [dep [ mod_name_key ] for dep in self .dependencies if dep ['build_only' ]]
694+ build_dep_mods = [get_module_name ( dep ) for dep in self .dependencies if dep ['build_only' ]]
690695 if build_dep_mods :
691696 trace_msg ("loading modules for build dependencies:" )
692697 for dep_mod in build_dep_mods :
693698 trace_msg (' * ' + dep_mod )
694699 else :
695700 trace_msg ("(no build dependencies specified)" )
696701
697- run_dep_mods = [dep [ mod_name_key ] for dep in self .dependencies if not dep ['build_only' ]]
702+ run_dep_mods = [get_module_name ( dep ) for dep in self .dependencies if not dep ['build_only' ]]
698703 if run_dep_mods :
699704 trace_msg ("loading modules for (runtime) dependencies:" )
700705 for dep_mod in run_dep_mods :
@@ -755,7 +760,7 @@ def _verify_toolchain(self):
755760 self .log .debug ("List of toolchain dependencies from toolchain module: %s" , self .toolchain_dep_mods )
756761
757762 # only retain names of toolchain elements, excluding toolchain name
758- toolchain_definition = set ([e for es in self .definition ().values () for e in es if not e = = self .name ])
763+ toolchain_definition = set ([e for es in self .definition ().values () for e in es if e ! = self .name ])
759764
760765 # filter out optional toolchain elements if they're not used in the module
761766 for elem_name in toolchain_definition .copy ():
0 commit comments