From f2efcabb905474f5c54f1a4cc347a1a50247ea12 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 28 May 2021 21:34:03 -0500 Subject: [PATCH] Fixes missing exec and lib path for intel-linux. Specifying the intel-linux compiler in the path would result in failure because the path to the compiler would never get detected and hence the path to the compiler libs would also be missing. This fixes the issue by explicitly computing the absolute path to the compiler exec always for both already specified and as found in PATH. fixes #23 --- src/tools/intel-linux.jam | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) 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) {