6969from easybuild .tools .systemtools import LINUX , get_os_type
7070from easybuild .tools .toolchain .options import ToolchainOptions
7171from easybuild .tools .toolchain .toolchainvariables import ToolchainVariables
72- from easybuild .tools .utilities import nub , trace_msg
72+ from easybuild .tools .utilities import nub , unique_ordered_append , trace_msg
7373
7474
7575_log = fancylogger .getLogger ('tools.toolchain' , fname = False )
@@ -1085,20 +1085,11 @@ def _add_dependency_cpp_headers(self, dep_root, extra_dirs=None):
10851085 """
10861086 Append prepocessor paths for given dependency root directory
10871087 """
1088- header_dirs = ["include" ]
1089-
10901088 if extra_dirs is None :
10911089 extra_dirs = ()
1092- elif extra_dirs and isinstance (extra_dirs , (str ,)):
1093- extra_dirs = [extra_dirs ]
1094-
1095- try :
1096- header_dirs .extend (extra_dirs )
1097- except TypeError as err :
1098- err_msg = f"_add_dependency_cpp_headers: given extra_dirs is not iterable: { extra_dirs } "
1099- raise EasyBuildError (err_msg ) from err
1100- else :
1101- header_dirs = nub (header_dirs ) # remove duplicates
1090+
1091+ header_dirs = ["include" ]
1092+ header_dirs = unique_ordered_append (header_dirs , extra_dirs )
11021093
11031094 # mode of operation is defined by search-path-cpp-headers option
11041095 # toolchain option has precedence over build option
@@ -1125,28 +1116,16 @@ def _add_dependency_linker_paths(self, dep_root, extra_dirs=None):
11251116 """
11261117 Append linker paths for given dependency root directory
11271118 """
1128- lib_dirs = ["lib64" , "lib" ]
1129-
11301119 if extra_dirs is None :
11311120 extra_dirs = ()
1132- elif extra_dirs and isinstance (extra_dirs , (str ,)):
1133- extra_dirs = [extra_dirs ]
1134-
1135- try :
1136- lib_dirs .extend (extra_dirs )
1137- except TypeError as err :
1138- err_msg = f"_add_dependency_linker_paths: given extra_dirs is not iterable: { extra_dirs } "
1139- raise EasyBuildError (err_msg ) from err
1140- else :
1141- lib_dirs = nub (lib_dirs ) # remove duplicates
1121+
1122+ lib_dirs = ["lib64" , "lib" ]
1123+ lib_dirs = unique_ordered_append (lib_dirs , extra_dirs )
11421124
11431125 env_var = "LDFLAGS"
11441126 self .log .debug ("Adding lib paths to toolchain variable '%s': %s" , env_var , dep_root )
11451127 self .variables .append_subdirs (env_var , dep_root , subdirs = lib_dirs )
11461128
1147- def _unique_ordered_list_append (self , base , extra_dirs ):
1148- """Append list of dirs to another list of dirs keeping order and without duplicates"""
1149-
11501129 def _setenv_variables (self , donotset = None , verbose = True ):
11511130 """Actually set the environment variables"""
11521131
0 commit comments