diff options
| -rw-r--r-- | build/conf/compilers/gnu_compiler.conf | 6 | ||||
| -rw-r--r-- | build/conf/compilers/msvc_compiler.conf | 15 | ||||
| -rw-r--r-- | build/conf/go.conf | 2 | ||||
| -rw-r--r-- | build/conf/linkers/ld.conf | 8 | ||||
| -rw-r--r-- | build/conf/linkers/msvc_linker.conf | 4 | ||||
| -rw-r--r-- | build/ymake.core.conf | 12 | ||||
| -rwxr-xr-x | build/ymake_conf.py | 34 |
7 files changed, 47 insertions, 34 deletions
diff --git a/build/conf/compilers/gnu_compiler.conf b/build/conf/compilers/gnu_compiler.conf index a76d99a9fe8..bead4475838 100644 --- a/build/conf/compilers/gnu_compiler.conf +++ b/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 \ diff --git a/build/conf/compilers/msvc_compiler.conf b/build/conf/compilers/msvc_compiler.conf index 7ea002c025b..f15798f21de 100644 --- a/build/conf/compilers/msvc_compiler.conf +++ b/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"} diff --git a/build/conf/go.conf b/build/conf/go.conf index c4b5d59894b..a12d7b8e6a8 100644 --- a/build/conf/go.conf +++ b/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() } diff --git a/build/conf/linkers/ld.conf b/build/conf/linkers/ld.conf index 4fc8b1eb9c9..809d02d3876 100644 --- a/build/conf/linkers/ld.conf +++ b/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"} diff --git a/build/conf/linkers/msvc_linker.conf b/build/conf/linkers/msvc_linker.conf index 79886b3dc56..6ed23489caa 100644 --- a/build/conf/linkers/msvc_linker.conf +++ b/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") { diff --git a/build/ymake.core.conf b/build/ymake.core.conf index b719374da7f..34a1038bf98 100644 --- a/build/ymake.core.conf +++ b/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) diff --git a/build/ymake_conf.py b/build/ymake_conf.py index e06439b4849..76f4706a2b9 100755 --- a/build/ymake_conf.py +++ b/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))) |
