@@ -1203,12 +1203,24 @@ def pre_configure_hook_llvm(self, *args, **kwargs):
12031203 into pointing to the compat layer.
12041204 """
12051205 if self .name in ['LLVM' , 'ROCm-LLVM' ]:
1206+ from easybuild .easyblocks .generic .bundle import Bundle
1207+ from easybuild .easyblocks .llvm import EB_LLVM
1208+
12061209 eprefix = get_eessi_envvar ('EPREFIX' )
12071210
1208- for software in ('zlib' , 'ncurses' ):
1209- var_name = get_software_root_env_var_name (software )
1210- env .setvar (var_name , os .path .join (eprefix , 'usr' ))
1211- self .deps .append (software )
1211+ def recursive_set_deps (item , softwares ):
1212+ if isinstance (item , (list , tuple )):
1213+ for elem in item :
1214+ recursive_set_deps (elem , softwares )
1215+ elif isinstance (item , Bundle ):
1216+ recursive_set_deps (item .comp_instances , softwares )
1217+ elif isinstance (item , EB_LLVM ):
1218+ for sftw in softwares :
1219+ var_name = get_software_root_env_var_name (sftw )
1220+ env .setvar (var_name , os .path .join (eprefix , 'usr' ))
1221+ item .deps .append (sftw )
1222+
1223+ recursive_set_deps (self , softwares = ('zlib' , 'ncurses' ))
12121224 else :
12131225 raise EasyBuildError ("LLVM-specific hook triggered for non-LLVM easyconfig?!" )
12141226
0 commit comments