Browse Source

fix whitespaces for C_COMPILER, CXX_COMPILER and others for new commands
c781871db335669972c6a05caa74f31990dd1cbd

snermolaev 10 months ago
parent
commit
5946aa7d3c

+ 2 - 4
build/conf/compilers/gnu_compiler.conf

@@ -38,7 +38,6 @@ when ($FORCE_NO_PIC == "yes") {
     }
 }
 
-C_COMPILER=${quo:C_COMPILER_UNQUOTED}
 OPTIMIZE=$_OPTIMIZE_RELEASE
 FSTACK=-fstack-protector
 DUMP_DEPS=
@@ -76,7 +75,6 @@ when ($OS_EMSCRIPTEN == "yes") {
 CFLAGS+=$_C_FLAGS $DEBUG_INFO_FLAGS $_C_FOPTIONS $C_WARNING_OPTS $GCC_PREPROCESSOR_OPTS $USER_CFLAGS $USER_CFLAGS_GLOBAL
 CXXFLAGS+=$CFLAGS $_STD_CXX $CXX_WARNING_OPTS $USER_CXXFLAGS $USER_CXXFLAGS_GLOBAL
 CONLYFLAGS+=$USER_CONLYFLAGS $USER_CONLYFLAGS_GLOBAL
-CXX_COMPILER=${quo:CXX_COMPILER_UNQUOTED}
 NOGCCSTACKCHECK=yes
 SFDL_FLAG=$_SFDL_FLAGS -o $SFDL_TMP_OUT
 WERROR_FLAG=-Werror
@@ -194,7 +192,7 @@ _CPP_ARGS=\
     $CLANG_TIDY_ARGS \
     $YNDEXER_ARGS \
     $RETRY_ARGS \
-    $CXX_COMPILER \
+    $CXX_COMPILER_OLD \
     $C_FLAGS_PLATFORM \
     $GCC_COMPILE_FLAGS \
     $CXXFLAGS \
@@ -240,7 +238,7 @@ _C_ARGS=\
     $CLANG_TIDY_ARGS \
     $YNDEXER_ARGS \
     $RETRY_ARGS \
-    $C_COMPILER \
+    $C_COMPILER_OLD \
     $C_FLAGS_PLATFORM \
     $GCC_COMPILE_FLAGS \
     $CFLAGS \

+ 9 - 6
build/conf/compilers/msvc_compiler.conf

@@ -1,8 +1,11 @@
 _STD_CXX=/std:$_STD_CXX_VERSION
 
-C_COMPILER=${_WINE_C_PREFIX} ${quo:C_COMPILER_UNQUOTED}
-CXX_COMPILER=${_WINE_CXX_PREFIX} ${quo:CXX_COMPILER_UNQUOTED}
-MASM_COMPILER=${_WINE_MASM_PREFIX} ${quo:MASM_COMPILER_UNQUOTED}
+C_COMPILER=${_WINE_C_PREFIX} ${C_COMPILER_UNQUOTED}
+C_COMPILER_OLD=${_WINE_C_PREFIX} ${quo:C_COMPILER_OLD_UNQUOTED}
+CXX_COMPILER=${_WINE_CXX_PREFIX} ${CXX_COMPILER_UNQUOTED}
+CXX_COMPILER_OLD=${_WINE_CXX_PREFIX} ${quo:CXX_COMPILER_OLD_UNQUOTED}
+MASM_COMPILER=${_WINE_MASM_PREFIX} ${MASM_COMPILER_UNQUOTED}
+MASM_COMPILER_OLD=${_WINE_MASM_PREFIX} ${quo:MASM_COMPILER_OLD_UNQUOTED}
 
 MSVC_INLINE_OPTIMIZED=yes
 when ($MSVC_INLINE_OPTIMIZED == "yes") {
@@ -96,10 +99,10 @@ _C_CPP_KV_STYLE_P=p CC
 _C_CPP_KV_STYLE_PC=pc yellow
 
 _SRC_C_NODEPS_CMD=${TOOLCHAIN_ENV} ${CL_WRAPPER} ${C_COMPILER} /c /Fo${OUTFILE} ${SRC} ${EXTRA_C_FLAGS} ${pre=/I :INC} ${CFLAGS} ${hide;kv:"soe"} ${hide;kv:"p CC"} ${hide;kv:"pc yellow"}
-_SRC_CPP_CMD=${TOOLCHAIN_ENV} ${CL_WRAPPER} ${CXX_COMPILER} /c /Fo$_COMPILE_OUTPUTS ${input:SRC} ${EXTRA_C_FLAGS} ${pre=/I :_C__INCLUDE} ${CXXFLAGS} ${SRCFLAGS} ${_LANG_CFLAGS_VALUE} ${hide;kv:"soe"} ${hide;kv:"p CC"} ${hide;kv:"pc yellow"}
+_SRC_CPP_CMD=${TOOLCHAIN_ENV} ${CL_WRAPPER} ${CXX_COMPILER_OLD} /c /Fo$_COMPILE_OUTPUTS ${input:SRC} ${EXTRA_C_FLAGS} ${pre=/I :_C__INCLUDE} ${CXXFLAGS} ${SRCFLAGS} ${_LANG_CFLAGS_VALUE} ${hide;kv:"soe"} ${hide;kv:"p CC"} ${hide;kv:"pc yellow"}
 _SRC_CPP_CMD_NEW=${TOOLCHAIN_ENV} ${CL_WRAPPER} ${CXX_COMPILER} /c /Fo$_COMPILE_OUTPUTS ${input:SRC} ${EXTRA_C_FLAGS} ${pre=/I :_C__INCLUDE} ${CXXFLAGS} ${SRCFLAGS} ${_LANG_CFLAGS_VALUE_NEW} ${hide;kv:"soe"} ${hide;kv:_C_CPP_KV_STYLE_P} ${hide;kv:_C_CPP_KV_STYLE_PC}
 _SRC_CPP_CMD_NEW_FORCED=${TOOLCHAIN_ENV} ${CL_WRAPPER} ${CXX_COMPILER} /c /Fo$_COMPILE_OUTPUTS ${input:SRC} ${EXTRA_C_FLAGS} ${pre=/I :_C__INCLUDE} ${CXXFLAGS} $_FORCE_CPP_FLAGS ${SRCFLAGS} ${_LANG_CFLAGS_VALUE_NEW} ${hide;kv:"soe"} ${hide;kv:_C_CPP_KV_STYLE_P} ${hide;kv:_C_CPP_KV_STYLE_PC}
-_SRC_C_CMD=${TOOLCHAIN_ENV} ${CL_WRAPPER} ${C_COMPILER} /c /Fo$_COMPILE_OUTPUTS ${input:SRC} ${EXTRA_C_FLAGS} ${pre=/I :_C__INCLUDE} ${CFLAGS} ${CONLYFLAGS} ${SRCFLAGS} ${hide;kv:"soe"} ${hide;kv:"p CC"} ${hide;kv:"pc yellow"}
+_SRC_C_CMD=${TOOLCHAIN_ENV} ${CL_WRAPPER} ${C_COMPILER_OLD} /c /Fo$_COMPILE_OUTPUTS ${input:SRC} ${EXTRA_C_FLAGS} ${pre=/I :_C__INCLUDE} ${CFLAGS} ${CONLYFLAGS} ${SRCFLAGS} ${hide;kv:"soe"} ${hide;kv:"p CC"} ${hide;kv:"pc yellow"}
 _SRC_C_CMD_NEW=${TOOLCHAIN_ENV} ${CL_WRAPPER} ${C_COMPILER} /c /Fo$_COMPILE_OUTPUTS ${input:SRC} ${EXTRA_C_FLAGS} ${pre=/I :_C__INCLUDE} ${CFLAGS} ${CONLYFLAGS} ${SRCFLAGS} ${hide;kv:"soe"} ${hide;kv:_C_CPP_KV_STYLE_P} ${hide;kv:_C_CPP_KV_STYLE_PC}
 _SRC_M_CMD=$_EMPTY_CMD
-_SRC_MASM_CMD=${cwd:ARCADIA_BUILD_ROOT} ${TOOLCHAIN_ENV} ${ML_WRAPPER} ${MASM_COMPILER} ${MASMFLAGS} ${SRCFLAGS} $_MASM_IO ${kv;hide:"p AS"} ${kv;hide:"pc yellow"}
+_SRC_MASM_CMD=${cwd:ARCADIA_BUILD_ROOT} ${TOOLCHAIN_ENV} ${ML_WRAPPER} ${MASM_COMPILER_OLD} ${MASMFLAGS} ${SRCFLAGS} $_MASM_IO ${kv;hide:"p AS"} ${kv;hide:"pc yellow"}

+ 1 - 1
build/conf/go.conf

@@ -216,7 +216,7 @@ macro _GO_COMPILE_CGO1(NAME, FLAGS[], FILES...) {
 
 # tag:go-specific
 macro _GO_COMPILE_CGO2(NAME, C_FILES[], S_FILES[], OBJ_FILES[], FILES...) {
-    .CMD=${hide:_CGO_FAKEID} $C_COMPILER $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} $CGO_CFLAGS_VALUE ${input;tobindir:"_cgo_main.c"} -c -o ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_main.c"} && $C_COMPILER $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} -o ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_"} $LDFLAGS $LDFLAGS_GLOBAL $CGO2_LDFLAGS_VALUE ${input;hide:"_cgo_export.h"} ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_main.c"} ${input;suf=${OBJECT_SUF}:"_cgo_export.c"} ${input;nopath;noext;suf=.cgo2.c${OBJECT_SUF}:FILES} ${input;suf=${OBJECT_SUF}:C_FILES} ${input;suf=.o:S_FILES} ${input:OBJ_FILES} $CGO_LDFLAGS_VALUE && ${GO_TOOLS_ROOT}/pkg/tool/$_GO_TC_PATH/cgo -dynpackage $NAME -dynimport ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_"} -dynout ${output:"_cgo_import.go"} -dynlinker $GO_CGO2_FLAGS_VALUE $GO_TOOLCHAIN_ENV ${kv;hide:"p go"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
+    .CMD=${hide:_CGO_FAKEID} $C_COMPILER_OLD $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} $CGO_CFLAGS_VALUE ${input;tobindir:"_cgo_main.c"} -c -o ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_main.c"} && $C_COMPILER $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} -o ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_"} $LDFLAGS $LDFLAGS_GLOBAL $CGO2_LDFLAGS_VALUE ${input;hide:"_cgo_export.h"} ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_main.c"} ${input;suf=${OBJECT_SUF}:"_cgo_export.c"} ${input;nopath;noext;suf=.cgo2.c${OBJECT_SUF}:FILES} ${input;suf=${OBJECT_SUF}:C_FILES} ${input;suf=.o:S_FILES} ${input:OBJ_FILES} $CGO_LDFLAGS_VALUE && ${GO_TOOLS_ROOT}/pkg/tool/$_GO_TC_PATH/cgo -dynpackage $NAME -dynimport ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_"} -dynout ${output:"_cgo_import.go"} -dynlinker $GO_CGO2_FLAGS_VALUE $GO_TOOLCHAIN_ENV ${kv;hide:"p go"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
 
     _USE_LINKER()
 }

+ 4 - 4
build/conf/linkers/ld.conf

@@ -201,7 +201,7 @@ REAL_LINK_EXE_CMDLINE+=\
     ${pre=--whole-archive-libs :_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL} \
     $_LD_ARCH_FLAG \
     $LINK_SCRIPT_EXE_FLAGS \
-    $CXX_COMPILER \
+    $CXX_COMPILER_OLD \
     $_LD_SRCS_GLOBALS \
     $VCS_C_OBJ $_EXTRA_OBJS $AUTO_INPUT -o $TARGET \
     $_EXE_FLAGS \
@@ -228,7 +228,7 @@ REAL_LINK_EXEC_DYN_LIB_CMDLINE+=\
     ${pre=--whole-archive-libs :_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL} \
     $_LD_ARCH_FLAG \
     $LINK_DYN_LIB_FLAGS \
-    $CXX_COMPILER \
+    $CXX_COMPILER_OLD \
     $_LD_SRCS_GLOBALS \
     $VCS_C_OBJ $_EXTRA_OBJS $AUTO_INPUT -o $TARGET \
     $_EXEC_SHARED_FLAG \
@@ -252,7 +252,7 @@ REAL_LINK_DYN_LIB_CMDLINE+=\
     ${pre=--whole-archive-libs :_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL} \
     $_LD_ARCH_FLAG \
     $LINK_DYN_LIB_FLAGS \
-    $CXX_COMPILER \
+    $CXX_COMPILER_OLD \
     $_LD_SRCS_GLOBALS \
     $VCS_C_OBJ $_EXTRA_OBJS $AUTO_INPUT -o $TARGET \
     $_SHARED_FLAG \
@@ -358,7 +358,7 @@ _LD_LINK_FAT_SUFFIX1=$_LD_ARCH_FLAG \
     -Ya,global_srcs
 
 _LD_LINK_FAT_SUFFIX2=-Ya,peers $PEERS \
-    -Ya,linker $CXX_COMPILER \
+    -Ya,linker $CXX_COMPILER_OLD \
     $LDFLAGS_GLOBAL $C_FLAGS_PLATFORM $LD_SDK_VERSION \
     -Ya,archiver $_LD_ARCHIVER \
     $TOOLCHAIN_ENV ${kv;hide:"p LD"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}

+ 2 - 2
build/conf/linkers/msvc_linker.conf

@@ -1,5 +1,5 @@
-LINK_EXE_CMD=${_WINE_LINK_PREFIX} ${quo:_MSVC_LINK_UNQUOTED}
-LINK_LIB_CMD=${_WINE_LIB_PREFIX} ${quo:_MSVC_LIB_UNQUOTED}
+LINK_EXE_CMD=${_WINE_LINK_PREFIX} ${_MSVC_LINK_OLD}
+LINK_LIB_CMD=${_WINE_LIB_PREFIX} ${_MSVC_LIB_OLD}
 
 _MSVC_ARCH=
 when ($ARCH_I386 == "yes" || $ARCH_I686 == "yes") {

+ 6 - 6
build/ymake.core.conf

@@ -3030,7 +3030,7 @@ macro _SRC("rodata", SRC, SRCFLAGS...) {
 }
 
 macro _SRS_S_ASM(SRC, SRCFLAGS...) {
-    .CMD=$C_COMPILER $C_FLAGS_PLATFORM $CFLAGS $SFLAGS $SRCFLAGS -c -o ${output:SRC.o} ${input:SRC} $TOOLCHAIN_ENV ${pre=-I:_C__INCLUDE}
+    .CMD=$C_COMPILER_OLD $C_FLAGS_PLATFORM $CFLAGS $SFLAGS $SRCFLAGS -c -o ${output:SRC.o} ${input:SRC} $TOOLCHAIN_ENV ${pre=-I:_C__INCLUDE}
     .SEM=target_sources PRIVATE ${input:SRC} ${hide;output;suf=${OBJ_SUF}.o:SRC} $_ADD_EXTRA_FLAGS($SRCFLAGS) && add_language ASM
 }
 
@@ -3053,12 +3053,12 @@ macro _SRC("s79", SRC, SRCFLAGS...) {
 
 # tag:src-processing
 macro _SRC("mm", SRC, SRCFLAGS...) {
-    .CMD=$C_COMPILER $C_FLAGS_PLATFORM -x objective-c++ -fobjc-arc -fobjc-abi-version=2 -c -o ${output:SRC.o} ${input:SRC} $CXXFLAGS ${pre=-I:_C__INCLUDE} ${SRCFLAGS} ${kv;hide:"p CC"} ${kv;hide:"pc light-green"} $TOOLCHAIN_ENV
+    .CMD=$C_COMPILER_OLD $C_FLAGS_PLATFORM -x objective-c++ -fobjc-arc -fobjc-abi-version=2 -c -o ${output:SRC.o} ${input:SRC} $CXXFLAGS ${pre=-I:_C__INCLUDE} ${SRCFLAGS} ${kv;hide:"p CC"} ${kv;hide:"pc light-green"} $TOOLCHAIN_ENV
 }
 
 # tag:src-processing
 macro _SRC("sfdl", SRC, SRCFLAGS...) {
-    .CMD=$CXX_COMPILER $C_FLAGS_PLATFORM $CXXFLAGS $SFDL_FLAG ${SRCFLAGS} ${input:SRC} && ${tool:"tools/calcstaticopt"} -i ${tmp:SRC.tmp} -a $ARCADIA_ROOT ${output;stdout;nopath;noext;defext=.inc:SRC} ${kv;hide:"p SF"} ${kv;hide:"pc yellow"} $TOOLCHAIN_ENV
+    .CMD=$CXX_COMPILER_OLD $C_FLAGS_PLATFORM $CXXFLAGS $SFDL_FLAG ${SRCFLAGS} ${input:SRC} && ${tool:"tools/calcstaticopt"} -i ${tmp:SRC.tmp} -a $ARCADIA_ROOT ${output;stdout;nopath;noext;defext=.inc:SRC} ${kv;hide:"p SF"} ${kv;hide:"pc yellow"} $TOOLCHAIN_ENV
 }
 
 macro _XS_SRCS(SRC, TYPEMAPS[], SRCFLAGS...) {
@@ -3977,7 +3977,7 @@ when ($VCS_INFO_FILE) {
 ### Creates header file to access some information about build specified via configuration variables.
 ### Unlike CREATE_SVNVERSION_FOR() it doesn't take revion information from VCS, it uses revision and SandboxTaskId passed via -D options to ya make
 macro CREATE_BUILDINFO_FOR(GenHdr) {
-    .CMD=$YIELD $CXX_COMPILER && $YIELD $CXXFLAGS && $XARGS $YMAKE_PYTHON3 ${input:BUILDVERSION_SCRIPT} ${output:GenHdr} ${kv;hide:"p BI"} ${kv;hide:"pc yellow"} ${hide;kv:"show_out"} $SVN_DEPENDS_CACHE__NO_UID__
+    .CMD=$YIELD $CXX_COMPILER_OLD && $YIELD $CXXFLAGS && $XARGS $YMAKE_PYTHON3 ${input:BUILDVERSION_SCRIPT} ${output:GenHdr} ${kv;hide:"p BI"} ${kv;hide:"pc yellow"} ${hide;kv:"show_out"} $SVN_DEPENDS_CACHE__NO_UID__
     .SEM=$RUN_PYTHON3($BUILDVERSION_SCRIPT $GenHdr \\\"${CMAKE_CXX_COMPILER}\\\" \\\"${CMAKE_CXX_FLAGS}\\\" OUT $GenHdr)
 }
 
@@ -4073,7 +4073,7 @@ macro CUDA_NVCC_FLAGS(Flags...) {
 ### This generates a stub object devlink.o that supplies missing pieces for the
 ### host linker to link relocatable device objects into the final executable.
 macro NVCC_DEVICE_LINK(Srcs...) {
-    .CMD=$NVCC $NVCC_FLAGS -o ${output;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:"devlink"} -dlink ${input;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:Srcs} ${kv;hide:"p DL"} ${kv;hide:"pc light-blue"}
+    .CMD=$NVCC_OLD $NVCC_FLAGS -o ${output;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:"devlink"} -dlink ${input;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:Srcs} ${kv;hide:"p DL"} ${kv;hide:"pc light-blue"}
 }
 
 # tag:flags
@@ -4378,7 +4378,7 @@ SCHEEME2_STRUCT_INFO_FLAGS=-f "const static ui32 RecordSig" -u "RecordSig" --gcc
 ### for compatibility with C++ compiler and the external environment.
 ### See tools/structparser for more details.
 macro GEN_SCHEEME2(ScheemeName, FromFile) {
-    .CMD=$CXX_COMPILER $C_FLAGS_PLATFORM -c ${tmp;stdout:FromFile.cph} $SCHEEME2_CFLAGS ${input:FromFile} ${pre=-I:_C__INCLUDE} $CXXFLAGS -Wno-error && ${tool:"tools/structparser"} -o ${output:ScheemeName.inc} -n N${ScheemeName}SchemeInfo $SCHEEME2_STRUCT_INFO_FLAGS $DATAWORK_SCHEEME_EXPORT_FLAGS ${tmp:FromFile.cph} ${output;stdout;noauto:ScheemeName.inc.log} ${kv;hide:"p SH"} ${kv;hide:"pc yellow"}
+    .CMD=$CXX_COMPILER_OLD $C_FLAGS_PLATFORM -c ${tmp;stdout:FromFile.cph} $SCHEEME2_CFLAGS ${input:FromFile} ${pre=-I:_C__INCLUDE} $CXXFLAGS -Wno-error && ${tool:"tools/structparser"} -o ${output:ScheemeName.inc} -n N${ScheemeName}SchemeInfo $SCHEEME2_STRUCT_INFO_FLAGS $DATAWORK_SCHEEME_EXPORT_FLAGS ${tmp:FromFile.cph} ${output;stdout;noauto:ScheemeName.inc.log} ${kv;hide:"p SH"} ${kv;hide:"pc yellow"}
 }
 
 ### @usage: SYMLINK(from to)

+ 23 - 11
build/ymake_conf.py

@@ -1602,7 +1602,9 @@ class GnuCompiler(Compiler):
     def print_compiler(self):
         super(GnuCompiler, self).print_compiler()
 
-        emit('C_COMPILER_UNQUOTED', self.tc.c_compiler)
+        emit('C_COMPILER', '"{}"'.format(self.tc.c_compiler))
+        emit('C_COMPILER_OLD_UNQUOTED', self.tc.c_compiler)
+        emit('C_COMPILER_OLD', '${quo:C_COMPILER_OLD_UNQUOTED}')
         emit('OPTIMIZE', self.optimize)
         emit('WERROR_MODE', self.tc.werror_mode)
         emit('_C_FLAGS', self.c_flags)
@@ -1611,7 +1613,9 @@ class GnuCompiler(Compiler):
         append('C_DEFINES', self.c_defines)
         append('C_WARNING_OPTS', self.c_warnings)
         append('CXX_WARNING_OPTS', self.cxx_warnings)
-        emit('CXX_COMPILER_UNQUOTED', self.tc.cxx_compiler)
+        emit('CXX_COMPILER', '"{}"'.format(self.tc.cxx_compiler))
+        emit('CXX_COMPILER_OLD_UNQUOTED', format(self.tc.cxx_compiler))
+        emit('CXX_COMPILER_OLD', '${quo:CXX_COMPILER_OLD_UNQUOTED}')
         # TODO(somov): Убрать чтение настройки из os.environ
         emit('USE_ARC_PROFILE', 'yes' if preset('USE_ARC_PROFILE') or os.environ.get('USE_ARC_PROFILE') else 'no')
         emit('DEBUG_INFO_FLAGS', self.debug_info_flags)
@@ -2113,9 +2117,12 @@ class MSVCCompiler(MSVC, Compiler):
         if self.tc.use_arcadia_toolchain:
             emit('USE_ARCADIA_TOOLCHAIN', 'yes')
 
-        emit('CXX_COMPILER_UNQUOTED', self.tc.cxx_compiler)
-        emit('C_COMPILER_UNQUOTED', self.tc.c_compiler)
-        emit('MASM_COMPILER_UNQUOTED', self.tc.masm_compiler)
+        emit('CXX_COMPILER_UNQUOTED', '"{}"'.format(self.tc.cxx_compiler))
+        emit('CXX_COMPILER_OLD_UNQUOTED', self.tc.cxx_compiler)
+        emit('C_COMPILER_UNQUOTED', '"{}"'.format(self.tc.c_compiler))
+        emit('C_COMPILER_OLD_UNQUOTED', self.tc.c_compiler)
+        emit('MASM_COMPILER_UNQUOTED', '"{}"'.format(self.tc.masm_compiler))
+        emit('MASM_COMPILER_OLD_UNQUOTED', self.tc.masm_compiler)
         append('C_DEFINES', defines)
         append('C_WARNING_OPTS', c_warnings)
         emit('_CXX_DEFINES', cxx_defines)
@@ -2156,8 +2163,12 @@ class MSVCLinker(MSVC, Linker):
         linker = self.tc.link
         linker_lib = self.tc.lib
 
-        emit('_MSVC_LIB_UNQUOTED', linker_lib)
-        emit('_MSVC_LINK_UNQUOTED', linker)
+        emit('_MSVC_LIB', '"{}"'.format(linker_lib))
+        emit('_MSVC_LIB_OLD_UNQUOTED', linker_lib)
+        emit('_MSVC_LIB_OLD', '${quo:_MSVC_LIB_OLD_UNQUOTED}')
+        emit('_MSVC_LINK', '"{}"'.format(linker))
+        emit('_MSVC_LINK_OLD_UNQUOTED', linker)
+        emit('_MSVC_LINK_OLD', '${quo:_MSVC_LINK_OLD_UNQUOTED}')
 
         if self.build.is_release:
             emit('LINK_EXE_FLAGS_PER_TYPE', '$LINK_EXE_FLAGS_RELEASE')
@@ -2383,8 +2394,9 @@ class Cuda(object):
         self.cuda_host_msvc_version.emit()
         self.cuda_nvcc_flags.emit()
 
-        emit('NVCC_UNQUOTED', self.build.host.exe('$CUDA_ROOT', 'bin', 'nvcc'))
-        emit('NVCC', '${quo:NVCC_UNQUOTED}')
+        emit('NVCC', '"{}"'.format(self.build.host.exe('$CUDA_ROOT', 'bin', 'nvcc')))
+        emit('NVCC_OLD_UNQUOTED', self.build.host.exe('$CUDA_ROOT', 'bin', 'nvcc'))
+        emit('NVCC_OLD', '${quo:NVCC_OLD_UNQUOTED}')
         emit('NVCC_FLAGS', self.nvcc_flags, '$CUDA_NVCC_FLAGS')
         emit('NVCC_OBJ_EXT', '.o' if not self.build.target.is_windows else '.obj')
 
@@ -2393,9 +2405,9 @@ class Cuda(object):
         if self.build.host_target[1].is_linux:
             mtime = ' --mtime ${tool:"tools/mtime0"} '
         if not self.cuda_use_clang.value:
-            cmd = '$YMAKE_PYTHON ${input:"build/scripts/compile_cuda.py"}' + mtime + '$NVCC $NVCC_STD $NVCC_FLAGS -c ${input:SRC} -o ${output;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:SRC} ${pre=-I:_C__INCLUDE} --cflags $C_FLAGS_PLATFORM $CXXFLAGS $NVCC_STD $NVCC_CFLAGS $SRCFLAGS ${input;hide:"build/platform/cuda/cuda_runtime_include.h"} $CUDA_HOST_COMPILER_ENV ${kv;hide:"p CC"} ${kv;hide:"pc light-green"}'  # noqa E501
+            cmd = '$YMAKE_PYTHON ${input:"build/scripts/compile_cuda.py"}' + mtime + '$NVCC_OLD $NVCC_STD $NVCC_FLAGS -c ${input:SRC} -o ${output;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:SRC} ${pre=-I:_C__INCLUDE} --cflags $C_FLAGS_PLATFORM $CXXFLAGS $NVCC_STD $NVCC_CFLAGS $SRCFLAGS ${input;hide:"build/platform/cuda/cuda_runtime_include.h"} $CUDA_HOST_COMPILER_ENV ${kv;hide:"p CC"} ${kv;hide:"pc light-green"}'  # noqa E501
         else:
-            cmd = '$CXX_COMPILER --cuda-path=$CUDA_ROOT $C_FLAGS_PLATFORM -c ${input:SRC} -o ${output;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:SRC} ${pre=-I:_C__INCLUDE} $CXXFLAGS $SRCFLAGS $TOOLCHAIN_ENV ${kv;hide:"p CU"} ${kv;hide:"pc green"}'  # noqa E501
+            cmd = '$CXX_COMPILER_OLD --cuda-path=$CUDA_ROOT $C_FLAGS_PLATFORM -c ${input:SRC} -o ${output;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:SRC} ${pre=-I:_C__INCLUDE} $CXXFLAGS $SRCFLAGS $TOOLCHAIN_ENV ${kv;hide:"p CU"} ${kv;hide:"pc green"}'  # noqa E501
 
         emit('_SRC_CU_CMD', cmd)
         emit('_SRC_CU_PEERDIR', ' '.join(sorted(self.peerdirs)))