2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 00:52:16 +00:00

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
This commit is contained in:
Rene Rivera
2021-05-28 21:34:03 -05:00
parent 078c68a2e5
commit f2efcabb90

View File

@@ -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)
{