diff --git a/src/tools/intel-linux.jam b/src/tools/intel-linux.jam index 76aa9a751..217959201 100644 --- a/src/tools/intel-linux.jam +++ b/src/tools/intel-linux.jam @@ -85,27 +85,31 @@ rule init ( version ? : command * : options * ) local command_lib_path ; local detected_version ; local detected_command ; + local command_abs_path ; if ! $(user_version) && ! $(user_command) { # If nothing given, try and discover the latest toolset available. if ! $(detected_command) { local bin_paths = $(.bin(oneAPI)) ; - detected_command = [ common.find-tool icpx : $(bin_paths) : path-last ] ; - command_lib_path = $(detected_command:D)/../compiler/lib/intel64 ; + detected_command = [ common.find-tool icpx : $(bin_paths) ] ; + command_abs_path = [ common.get-absolute-tool-path $(detected_command) ] ; + command_lib_path = $(command_abs_path)/../compiler/lib/intel64 ; } if ! $(detected_command) { local bin_paths = $(.bin(12.0)) $(.bin(11.1)) $(.bin(11.0)) ; - detected_command = [ common.find-tool icpc : $(bin_paths) : path-last ] ; - command_lib_path = $(detected_command:D)/../lib/x86_64 ; + detected_command = [ common.find-tool icpc : $(bin_paths) ] ; + command_abs_path = [ common.get-absolute-tool-path $(detected_command) ] ; + command_lib_path = $(command_abs_path)/../lib/x86_64 ; } if ! $(detected_command) { local bin_paths = $(.bin(10.1)) $(.bin(9.1)) $(.bin(9.0)) $(.bin(8.1)) $(.bin(8.0)) ; - detected_command = [ common.find-tool icpc : $(bin_paths) : path-last ] ; - command_lib_path = $(detected_command:D)/../lib ; + detected_command = [ common.find-tool icpc : $(bin_paths) ] ; + command_abs_path = [ common.get-absolute-tool-path $(detected_command) ] ; + command_lib_path = $(command_abs_path)/../lib ; } if $(detected_command) { @@ -134,14 +138,15 @@ rule init ( version ? : command * : options * ) if $(bin_paths) { detected_command = [ common.find-tool icpc : $(bin_paths) : path-last ] ; + command_abs_path = [ common.get-absolute-tool-path $(detected_command) ] ; } if [ numbers.less $(user_version[1]) 11 ] { - command_lib_path = $(detected_command:D)/../lib ; + command_lib_path = $(command_abs_path)/../lib ; } else { - command_lib_path = $(detected_command:D)/../lib/x86_64 ; + command_lib_path = $(command_abs_path)/../lib/x86_64 ; } } else @@ -149,7 +154,8 @@ rule init ( version ? : command * : options * ) detected_command = [ common.find-tool icpx : [ regex.replace-list $(.bin(oneAPI)) : "latest" : $(user_version:J=.) ] : path-last ] ; - command_lib_path = $(detected_command:D)/../compiler/lib/intel64 ; + command_abs_path = [ common.get-absolute-tool-path $(detected_command) ] ; + command_lib_path = $(command_abs_path)/../compiler/lib/intel64 ; } if $(detected_command) {