From 5dba250502c8809acc5bdb2eb2241ca6a07891ed Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 5 Nov 2018 18:45:01 +0200 Subject: [PATCH] clang-win.jam: allow options (such as -fuse-ld=lld, -flto=thin) in command --- src/tools/clang-win.jam | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/tools/clang-win.jam b/src/tools/clang-win.jam index 01598d51d..dde2481ca 100644 --- a/src/tools/clang-win.jam +++ b/src/tools/clang-win.jam @@ -71,12 +71,12 @@ rule init ( version ? : command * : options * ) errors.error "Cannot configure toolset clang-win: no 'clang-cl.exe' command found or given" ; } - local compiler = [ path.native $(command) ] ; - compiler = "\"$(compiler)\"" ; + local compiler = "\"$(command)\"" ; + compiler = "$(compiler:J= )" ; version ?= [ MATCH "version ([0-9.]+)" : [ SHELL "$(compiler) --version" ] ] ; - .notice "configuring '$(command)' version '$(version)'" ; + .notice "using compiler '$(compiler)', version '$(version)'" ; local condition = [ common.check-init-parameters clang-win : version $(version) ] ; @@ -103,6 +103,11 @@ rule init ( version ? : command * : options * ) local ml = [ regex.replace $(items[1]) "x64\\\\+link\\.exe" "x64\\ml64.exe" ] ; ml = [ regex.replace $(ml) "x86\\\\+link\\.exe" "x86\\ml.exe" ] ; + if ! [ MATCH "(ml\\.exe)" "(ml64\\.exe)" : $(ml) ] + { + ml = ; + } + local assembler = [ get-option "assembler" : $(addr) : $(options) ] ; assembler ?= $(ml) ; if $(addr) = 32 { assembler ?= ml.exe ; } else { assembler ?= ml64.exe ; }