VirtualBox

Changeset 3615 in kBuild


Ignore:
Timestamp:
Oct 20, 2024 2:53:45 AM (5 months ago)
Author:
bird
Message:

kBuild/tools: Added VCC143* tools.

Location:
trunk/kBuild/tools
Files:
1 edited
3 copied

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/tools/VCC142X86.kmk

    r3597 r3615  
    118118PATH_TOOL_VCC142X86_REDIST_DEBUG     ?= $(PATH_TOOL_VCC142_REDIST_DEBUG)/x86
    119119PATH_TOOL_VCC142X86_REDIST_DEBUG_CRT  = $(PATH_TOOL_VCC142X86_REDIST_DEBUG)/$(TOOL_VCC142_REDIST_DEBUG_CRT_SUBDIR)
    120 TOOL_VCC142X64_REDIST_CRT_DLLS        = $(TOOL_VCC142_REDIST_CRT_DLLS.x86)
    121 TOOL_VCC142X64_REDIST_CONCRT_DLLS     = $(TOOL_VCC142_REDIST_CONCRT_DLLS.x86)
    122 TOOL_VCC142X64_REDIST_CPP_DLLS        = $(TOOL_VCC142_REDIST_CPP_DLLS.x86)
    123 TOOL_VCC142X64_REDIST_WINRT_DLLS      = $(TOOL_VCC142_REDIST_WINRT_DLLS.x86)
     120TOOL_VCC142X86_REDIST_CRT_DLLS        = $(TOOL_VCC142_REDIST_CRT_DLLS.x86)
     121TOOL_VCC142X86_REDIST_CONCRT_DLLS     = $(TOOL_VCC142_REDIST_CONCRT_DLLS.x86)
     122TOOL_VCC142X86_REDIST_CPP_DLLS        = $(TOOL_VCC142_REDIST_CPP_DLLS.x86)
     123TOOL_VCC142X86_REDIST_WINRT_DLLS      = $(TOOL_VCC142_REDIST_WINRT_DLLS.x86)
    124124
    125125
  • trunk/kBuild/tools/VCC143.kmk

    r3614 r3615  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - Visual C++ 14.2 (aka Visual 2019 and MSC v19.20), default target.
    4 #
    5 
    6 #
    7 # Copyright (c) 2004-2020 knut st. osmundsen <[email protected]>
     3# kBuild Tool Config - Visual C++ 14.3 (aka Visual 2022 and MSC v19.30+), default target.
     4#
     5
     6#
     7# Copyright (c) 2004-2024 knut st. osmundsen <[email protected]>
    88#
    99# This file is part of kBuild.
     
    3232#
    3333
    34 TOOL_VCC142 := Visual C++ 14.2 (aka Visual 2019 and MSC v19.20), targeting $(KBUILD_TARGET).
     34TOOL_VCC143 := Visual C++ 14.3 (aka Visual 2022 and MSC v19.30+), targeting $(KBUILD_TARGET).
    3535
    3636ifndef INCLUDED_WIN_COMMON_KMK
     
    4141# Tool Specific Properties
    4242#
    43 ifndef PATH_TOOL_VCC142
    44  PATH_TOOL_VCC142 := $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.amd64/vcc/v14.2*/Tools/MSVC/14.2?.*)))
    45  ifeq ($(PATH_TOOL_VCC142),)
    46   PATH_TOOL_VCC142 := $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.x86/vcc/v14.2*/Tools/MSVC/14.2?.*)))
    47  endif
    48  ifeq ($(PATH_TOOL_VCC142),)
    49   PATH_TOOL_VCC142 := $(PATH_TOOL_VCC142X86)
    50  endif
    51  ifeq ($(PATH_TOOL_VCC142),)
    52   PATH_TOOL_VCC142 := $(PATH_TOOL_VCC142)
    53  endif
    54  ifeq ($(PATH_TOOL_VCC142),)
    55   PATH_TOOL_VCC142 := $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.x86/vcc/v14.2*/Tools/MSVC/14.2?.*)))
    56   ifeq ($(PATH_TOOL_VCC142),)
    57    PATH_TOOL_VCC142 := $(firstfile $(foreach ver,2019,$(foreachfile progfilesdir,$(WINCMN_PROGRAM_FILES_LIST)\
    58         , $(rversortfiles $(qwildcard ,$(progfilesdir)/Microsoft\ Visual\ Studio/$(ver)/BuildTools/VC/Tools/MSVC/14.2?.*)))))
    59    ifeq ($(PATH_TOOL_VCC142),)
    60     $(warning kBuild: PATH_TOOL_VCC142 cannot be determined!)
    61     PATH_TOOL_VCC142 := $(KBUILD_DEVTOOLS)/win.x86/vcc/v142
     43ifndef PATH_TOOL_VCC143
     44 PATH_TOOL_VCC143 := $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win/vcc/v14.[34]*/Tools/MSVC/14.[34]?.*)))
     45 ifeq ($(PATH_TOOL_VCC143),)
     46  PATH_TOOL_VCC143 := $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.amd64/vcc/v14.[34]*/Tools/MSVC/14.[34]?.*)))
     47  ifeq ($(PATH_TOOL_VCC143),)
     48   PATH_TOOL_VCC143 := $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.x86/vcc/v14.[34]*/Tools/MSVC/14.[34]?.*)))
     49   ifeq ($(PATH_TOOL_VCC143),)
     50    PATH_TOOL_VCC143 := $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.arm64/vcc/v14.[34]*/Tools/MSVC/14.[34]?.*)))
     51    ifeq ($(PATH_TOOL_VCC143),)
     52     PATH_TOOL_VCC143 := $(PATH_TOOL_VCC143X86)
     53     ifeq ($(PATH_TOOL_VCC143),)
     54      PATH_TOOL_VCC143 := $(PATH_TOOL_VCC143AMD64)
     55      ifeq ($(PATH_TOOL_VCC143),)
     56       PATH_TOOL_VCC143 := $(firstfile $(foreach ver,2022,$(foreachfile progfilesdir,$(WINCMN_PROGRAM_FILES_LIST)\
     57        , $(rversortfiles $(qwildcard ,$(progfilesdir)/Microsoft\ Visual\ Studio/$(ver)/BuildTools/VC/Tools/MSVC/14.[34]?.*)))))
     58       ifeq ($(PATH_TOOL_VCC143),)
     59        $(warning kBuild: PATH_TOOL_VCC143 cannot be determined!)
     60        PATH_TOOL_VCC143 := $(KBUILD_DEVTOOLS)/win/vcc/v14.3
     61       endif
     62      endif
     63     endif
     64    endif
    6265   endif
    6366  endif
     
    6568else
    6669 # Resolve any fancy stuff once and for all.
    67  PATH_TOOL_VCC142 := $(PATH_TOOL_VCC142)
    68 endif
    69 
    70 ifndef PATH_TOOL_VCC142_BASE_BIN
    71 PATH_TOOL_VCC142_BASE_BIN := $(PATH_TOOL_VCC142)/bin
    72 endif
    73 ifndef PATH_TOOL_VCC142_HOST_BIN
    74 PATH_TOOL_VCC142_HOST_BIN := $(PATH_TOOL_VCC142_BASE_BIN)/Host$(WINCMN_MAP_ARCH.$(KBUILD_HOST_ARCH))
    75 endif
    76 ifndef PATH_TOOL_VCC142_BIN
    77 PATH_TOOL_VCC142_BIN      := $(PATH_TOOL_VCC142_HOST_BIN)/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))
    78 endif
    79 PATH_TOOL_VCC142_BIN_QSH  := $(requote sh,$(PATH_TOOL_VCC142_BIN))
     70 PATH_TOOL_VCC143 := $(PATH_TOOL_VCC143)
     71endif
     72
     73ifndef PATH_TOOL_VCC143_BASE_BIN
     74PATH_TOOL_VCC143_BASE_BIN := $(PATH_TOOL_VCC143)/bin
     75endif
     76ifndef PATH_TOOL_VCC143_HOST_BIN
     77PATH_TOOL_VCC143_HOST_BIN := $(PATH_TOOL_VCC143_BASE_BIN)/Host$(WINCMN_MAP_ARCH.$(KBUILD_HOST_ARCH))
     78endif
     79ifndef PATH_TOOL_VCC143_BIN
     80PATH_TOOL_VCC143_BIN      := $(PATH_TOOL_VCC143_HOST_BIN)/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))
     81endif
     82PATH_TOOL_VCC143_BIN_QSH  := $(requote sh,$(PATH_TOOL_VCC143_BIN))
    8083
    8184# A bunch of DLLs are only in the subdir matching the host one, so we need to add it to the PATH when cross compiling.
    82 ifndef PATH_TOOL_VCC142_HOST_DLL_BIN
    83 PATH_TOOL_VCC142_HOST_DLL_BIN := $(PATH_TOOL_VCC142_HOST_BIN)/$(WINCMN_MAP_ARCH.$(KBUILD_HOST_ARCH))
    84 endif
    85 ifndef PATH_TOOL_VCC142_DLL_BIN
    86  ifneq ($(PATH_TOOL_VCC142_HOST_DLL_BIN),$(PATH_TOOL_VCC142_BIN))
    87 PATH_TOOL_VCC142_DLL_BIN      := $(PATH_TOOL_VCC142_HOST_DLL_BIN)
     85ifndef PATH_TOOL_VCC143_HOST_DLL_BIN
     86PATH_TOOL_VCC143_HOST_DLL_BIN := $(PATH_TOOL_VCC143_HOST_BIN)/$(WINCMN_MAP_ARCH.$(KBUILD_HOST_ARCH))
     87endif
     88ifndef PATH_TOOL_VCC143_DLL_BIN
     89 ifneq ($(PATH_TOOL_VCC143_HOST_DLL_BIN),$(PATH_TOOL_VCC143_BIN))
     90PATH_TOOL_VCC143_DLL_BIN      := $(PATH_TOOL_VCC143_HOST_DLL_BIN)
    8891 endif
    8992endif
    9093
    91 PATH_TOOL_VCC142_LIB.amd64         ?= $(PATH_TOOL_VCC142)/lib/x64
    92 PATH_TOOL_VCC142_LIB.arm32         ?= $(PATH_TOOL_VCC142)/lib/arm
    93 PATH_TOOL_VCC142_LIB.arm64         ?= $(PATH_TOOL_VCC142)/lib/arm64
    94 PATH_TOOL_VCC142_LIB.x86           ?= $(PATH_TOOL_VCC142)/lib/x86
    95 
    96 PATH_TOOL_VCC142_ONECORE_LIB.amd64 ?= $(PATH_TOOL_VCC142)/lib/onecore/x64
    97 PATH_TOOL_VCC142_ONECORE_LIB.arm32 ?= $(PATH_TOOL_VCC142)/lib/onecore/arm
    98 PATH_TOOL_VCC142_ONECORE_LIB.arm64 ?= $(PATH_TOOL_VCC142)/lib/onecore/arm64
    99 PATH_TOOL_VCC142_ONECORE_LIB.x86   ?= $(PATH_TOOL_VCC142)/lib/onecore/x86
    100 
    101 PATH_TOOL_VCC142_INC               ?= $(PATH_TOOL_VCC142)/include
    102 
    103 PATH_TOOL_VCC142_ATLMFC            ?= $(PATH_TOOL_VCC142)/atlmfc
    104 PATH_TOOL_VCC142_ATLMFC_INC        ?= $(PATH_TOOL_VCC142_ATLMFC)/include
    105 PATH_TOOL_VCC142_ATLMFC_LIB.x86    ?= $(PATH_TOOL_VCC142_ATLMFC)/lib/x86
    106 PATH_TOOL_VCC142_ATLMFC_LIB.amd64  ?= $(PATH_TOOL_VCC142_ATLMFC)/lib/x64
    107 
    108 TOOL_VCC142_CC      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/cl.exe
    109 TOOL_VCC142_CXX     ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/cl.exe
     94PATH_TOOL_VCC143_LIB.amd64         ?= $(PATH_TOOL_VCC143)/lib/x64
     95PATH_TOOL_VCC143_LIB.arm32         ?= $(PATH_TOOL_VCC143)/lib/arm
     96PATH_TOOL_VCC143_LIB.arm64         ?= $(PATH_TOOL_VCC143)/lib/arm64
     97PATH_TOOL_VCC143_LIB.x86           ?= $(PATH_TOOL_VCC143)/lib/x86
     98
     99PATH_TOOL_VCC143_ONECORE_LIB.amd64 ?= $(PATH_TOOL_VCC143)/lib/onecore/x64
     100PATH_TOOL_VCC143_ONECORE_LIB.arm32 ?= $(PATH_TOOL_VCC143)/lib/onecore/arm
     101PATH_TOOL_VCC143_ONECORE_LIB.arm64 ?= $(PATH_TOOL_VCC143)/lib/onecore/arm64
     102PATH_TOOL_VCC143_ONECORE_LIB.x86   ?= $(PATH_TOOL_VCC143)/lib/onecore/x86
     103
     104PATH_TOOL_VCC143_INC               ?= $(PATH_TOOL_VCC143)/include
     105
     106PATH_TOOL_VCC143_ATLMFC            ?= $(PATH_TOOL_VCC143)/atlmfc
     107PATH_TOOL_VCC143_ATLMFC_INC        ?= $(PATH_TOOL_VCC143_ATLMFC)/include
     108PATH_TOOL_VCC143_ATLMFC_LIB.x86    ?= $(PATH_TOOL_VCC143_ATLMFC)/lib/x86
     109PATH_TOOL_VCC143_ATLMFC_LIB.amd64  ?= $(PATH_TOOL_VCC143_ATLMFC)/lib/x64
     110
     111TOOL_VCC143_CC      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143_BIN_QSH)/cl.exe
     112TOOL_VCC143_CXX     ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143_BIN_QSH)/cl.exe
    110113ifeq ($(KBUILD_TARGET_ARCH),x86)
    111 TOOL_VCC142_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/ml.exe
     114TOOL_VCC143_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143_BIN_QSH)/ml.exe
    112115else
    113 TOOL_VCC142_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/ml64.exe
    114 endif
    115 #TOOL_VCC142_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/lib.exe - just an exec wrapper for the below
    116 TOOL_VCC142_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/link.exe /LIB
    117 TOOL_VCC142_LD      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/link.exe
    118 TOOL_VCC142_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/dumpbin.exe
    119 TOOL_VCC142_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/editbin.exe
    120 
    121 TOOL_VCC142_RC      ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC142_RC_CACHED)
    122 TOOL_VCC142_MT      ?= $(TOOL_VCC142_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC142_MT_CACHED)
    123 TOOL_VCC142_MT_RETRY ?= $(WINCMN_MT_RETRY)
    124 
    125 ifdef TOOL_VCC142_USE_KSUBMIT
     116TOOL_VCC143_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143_BIN_QSH)/ml64.exe
     117endif
     118#TOOL_VCC143_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143_BIN_QSH)/lib.exe - just an exec wrapper for the below
     119TOOL_VCC143_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143_BIN_QSH)/link.exe /LIB
     120TOOL_VCC143_LD      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143_BIN_QSH)/link.exe
     121TOOL_VCC143_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143_BIN_QSH)/dumpbin.exe
     122TOOL_VCC143_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143_BIN_QSH)/editbin.exe
     123
     124TOOL_VCC143_RC      ?= $(EXEC_X86_WIN32) $(call TOOL_VCC143_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC143_RC_CACHED)
     125TOOL_VCC143_MT      ?= $(TOOL_VCC143_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC143_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC143_MT_CACHED)
     126TOOL_VCC143_MT_RETRY ?= $(WINCMN_MT_RETRY)
     127
     128ifdef TOOL_VCC143_USE_KSUBMIT
    126129 ifeq ($(KBUILD_HOST),win)
    127   ifeq ($(findstring /HostX86/,$(PATH_TOOL_VCC142AMD64_BIN)),/HostX86/)
    128    TOOL_VCC142_KSUBMIT ?= kmk_builtin_kSubmit --32-bit
     130  ifeq ($(findstring /HostX86/,$(PATH_TOOL_VCC143AMD64_BIN)),/HostX86/)
     131   TOOL_VCC143_KSUBMIT ?= kmk_builtin_kSubmit --32-bit
    129132  else
    130    TOOL_VCC142_KSUBMIT ?= kmk_builtin_kSubmit --64-bit
     133   TOOL_VCC143_KSUBMIT ?= kmk_builtin_kSubmit --64-bit
    131134  endif
    132   ifdef PATH_TOOL_VCC142_DLL_BIN
    133    TOOL_VCC142_KSUBMIT := $(TOOL_VCC142_KSUBMIT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC142_DLL_BIN));"
     135  ifdef PATH_TOOL_VCC143_DLL_BIN
     136   TOOL_VCC143_KSUBMIT := $(TOOL_VCC143_KSUBMIT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC143_DLL_BIN));"
    134137  endif
    135   TOOL_VCC142_KSUBMIT_DD := $(TOOL_VCC142_KSUBMIT) --
     138  TOOL_VCC143_KSUBMIT_DD := $(TOOL_VCC143_KSUBMIT) --
    136139 endif
    137140endif
    138 ifdef PATH_TOOL_VCC142_DLL_BIN
    139  TOOL_VCC142_SETUP_ENV   := $(REDIRECT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC142_DLL_BIN));" --$(SP)
    140  ifndef TOOL_VCC142_KSUBMIT_DD
    141   TOOL_VCC142_KSUBMIT_DD := $(TOOL_VCC142_SETUP_ENV)
     141ifdef PATH_TOOL_VCC143_DLL_BIN
     142 TOOL_VCC143_SETUP_ENV   := $(REDIRECT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC143_DLL_BIN));" --$(SP)
     143 ifndef TOOL_VCC143_KSUBMIT_DD
     144  TOOL_VCC143_KSUBMIT_DD := $(TOOL_VCC143_SETUP_ENV)
    142145 endif
    143146endif
     
    145148
    146149## Helper for finding rc.exe and mt.exe in the SDK.
    147 TOOL_VCC142_FN_FIND_SDK_TOOL_SUB = $(eval $3 := $(qfirstfile sh,\
     150TOOL_VCC143_FN_FIND_SDK_TOOL_SUB = $(eval $3 := $(qfirstfile sh,\
    148151       $(if-expr defined(PATH_SDK_WINSDK10_BIN) , $(qwildcard ,$(PATH_SDK_WINSDK10_BIN)/$2)) \
    149152       $(if-expr defined(PATH_SDK_WINPSDK71_BIN), $(qwildcard ,$(PATH_SDK_WINPSDK71_BIN)/$2)) \
    150153       $(if-expr defined(PATH_SDK_WINPSDK_BIN)  , $(qwildcard ,$(PATH_SDK_WINPSDK_BIN)/$2)) \
     154        $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win/sdk/*/[Bb][Ii][Nn]/*/$(WINCMN_MAP_ARCH.$(KBUILD_HOST_ARCH))/$2)) \
     155        $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS_HST)/win/sdk/*/[Bb][Ii][Nn]/*/$(WINCMN_MAP_ARCH.$(KBUILD_HOST_ARCH))/$2)) \
     156        $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS_HST_ALT)/win/sdk/*/[Bb][Ii][Nn]/*/$(WINCMN_MAP_ARCH.$(KBUILD_HOST_ARCH))/$2)) \
    151157        $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS_HST)/sdk/*/[Bb][Ii][Nn]/$2)) \
    152158        $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS_HST_ALT)/sdk/*/[Bb][Ii][Nn]/$2)) \
    153159        $1))
    154 TOOL_VCC142_FN_FIND_SDK_TOOL = $(if-expr !defined($3),$(TOOL_VCC142_FN_FIND_SDK_TOOL_SUB),)$($3)
     160TOOL_VCC143_FN_FIND_SDK_TOOL = $(if-expr !defined($3),$(TOOL_VCC143_FN_FIND_SDK_TOOL_SUB),)$($3)
    155161
    156162## Constructs the correct .pdb name (the name is lowercased).
    157163# @param    $(1)        Base name, no extention.
    158164# @param    $(2)        The extension.
    159 TOOL_VCC142_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2)
     165TOOL_VCC143_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2)
    160166
    161167#
     
    163169# doesn't necessarily match that of the compiler.
    164170#
    165 ifeq ($(tolower $(substr $(qdir u,$(PATH_TOOL_VCC142)), -12)),/tools/msvc/)
    166 PATH_TOOL_VCC142_REDIST ?= $(firstfile $(qwildcard ,$(substr $(qdir ,$(PATH_TOOL_VCC142)), 1, -12)/Redist/MSVC/14.2*))
     171ifeq ($(tolower $(substr $(qdir u,$(PATH_TOOL_VCC143)), -12)),/tools/msvc/)
     172PATH_TOOL_VCC143_REDIST ?= $(firstfile $(qwildcard ,$(substr $(qdir ,$(PATH_TOOL_VCC143)), 1, -12)/Redist/MSVC/14.[34]*))
    167173else
    168 PATH_TOOL_VCC142_REDIST ?= $(qabspath ,$(firstfile $(qwildcard ,\
    169         $(PATH_TOOL_VCC142)/Redist \
    170         $(PATH_TOOL_VCC142)/../Redist \
    171         $(PATH_TOOL_VCC142)/../../Redist \
    172         $(PATH_TOOL_VCC142)/../../../Redist \
    173         $(PATH_TOOL_VCC142)/../../../../Redist)))
    174 endif
    175 PATH_TOOL_VCC142_REDIST_DEBUG ?= $(PATH_TOOL_VCC142_REDIST)/debug_nonredist
     174PATH_TOOL_VCC143_REDIST ?= $(qabspath ,$(firstfile $(qwildcard ,\
     175        $(PATH_TOOL_VCC143)/Redist \
     176        $(PATH_TOOL_VCC143)/../Redist \
     177        $(PATH_TOOL_VCC143)/../../Redist \
     178        $(PATH_TOOL_VCC143)/../../../Redist \
     179        $(PATH_TOOL_VCC143)/../../../../Redist)))
     180endif
     181PATH_TOOL_VCC143_REDIST_DEBUG ?= $(PATH_TOOL_VCC143_REDIST)/debug_nonredist
    176182
    177183## Updates may add more msvcp140_[0-9].dll images as the product matures.
     
    180186# @param 2 The DLL basename (no suffix).
    181187# @param 3 The VCC architecture name (for constructing the path).
    182 FN_TOOL_VCC142_FIND_DLLS = $(2).dll \
    183         $(versortfiles $(qnotdir ,$(qwildcard ,$(PATH_TOOL_VCC142_REDIST)/$(3)/$(1)/$(2)_?.dll)))
    184 
    185 TOOL_VCC142_REDIST_CRT_SUBDIR       := Microsoft.VC142.CRT
    186 TOOL_VCC142_REDIST_DEBUG_CRT_SUBDIR := Microsoft.VC142.DebugCRT
    187 
    188 TOOL_VCC142_REDIST_CRT_DLLS.x86      = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),vcruntime140,x86)
    189 TOOL_VCC142_REDIST_CRT_DLLS.amd64    = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),vcruntime140,x64)
    190 TOOL_VCC142_REDIST_CRT_DLLS.arm32    = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),vcruntime140,arm)
    191 TOOL_VCC142_REDIST_CRT_DLLS.arm64    = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),vcruntime140,arm64)
    192 TOOL_VCC142_REDIST_CRT_DLLS          = $(TOOL_VCC142_REDIST_CRT_DLLS.$(KBUILD_TARGET_ARCH))
    193 
    194 TOOL_VCC142_REDIST_CONCRT_DLLS.x86   = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),concrt140,x86)
    195 TOOL_VCC142_REDIST_CONCRT_DLLS.amd64 = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),concrt140,x64)
    196 TOOL_VCC142_REDIST_CONCRT_DLLS.arm32 = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),concrt140,arm)
    197 TOOL_VCC142_REDIST_CONCRT_DLLS.arm64 = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),concrt140,arm64)
    198 TOOL_VCC142_REDIST_CONCRT_DLLS       = $(TOOL_VCC142_REDIST_CONCRT_DLLS.$(KBUILD_TARGET_ARCH))
    199 
    200 TOOL_VCC142_REDIST_CPP_DLLS.x86      = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),msvcp140,x86)
    201 TOOL_VCC142_REDIST_CPP_DLLS.amd64    = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),msvcp140,x64)
    202 TOOL_VCC142_REDIST_CPP_DLLS.arm32    = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),msvcp140,arm)
    203 TOOL_VCC142_REDIST_CPP_DLLS.arm64    = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),msvcp140,arm64)
    204 TOOL_VCC142_REDIST_CPP_DLLS          = $(TOOL_VCC142_REDIST_CPP_DLLS.$(KBUILD_TARGET_ARCH))
    205 
    206 TOOL_VCC142_REDIST_WINRT_DLLS.x86    = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),vccorlib140,x86)
    207 TOOL_VCC142_REDIST_WINRT_DLLS.amd64  = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),vccorlib140,x64)
    208 TOOL_VCC142_REDIST_WINRT_DLLS.arm32  = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),vccorlib140,arm)
    209 TOOL_VCC142_REDIST_WINRT_DLLS.arm64  = $(call FN_TOOL_VCC142_FIND_DLLS,$(TOOL_VCC142_REDIST_CRT_SUBDIR),vccorlib140,arm64)
    210 TOOL_VCC142_REDIST_WINRT_DLLS        = $(TOOL_VCC142_REDIST_WINRT_DLLS.$(KBUILD_TARGET_ARCH))
    211 
    212 TOOL_VCC142_REDIST_CXXAMP_SUBDIR := Microsoft.VC142.CXXAMP
    213 TOOL_VCC142_REDIST_MFC_SUBDIR    := Microsoft.VC142.MFC
    214 TOOL_VCC142_REDIST_MFCLOC_SUBDIR := Microsoft.VC142.MFCLOC
    215 TOOL_VCC142_REDIST_OPENMP_SUBDIR := Microsoft.VC142.OpenMP
     188FN_TOOL_VCC143_FIND_DLLS = $(2).dll \
     189        $(versortfiles $(qnotdir ,$(qwildcard ,$(PATH_TOOL_VCC143_REDIST)/$(3)/$(1)/$(2)_?.dll)))
     190
     191TOOL_VCC143_REDIST_CRT_SUBDIR       := Microsoft.VC143.CRT
     192TOOL_VCC143_REDIST_DEBUG_CRT_SUBDIR := Microsoft.VC143.DebugCRT
     193
     194TOOL_VCC143_REDIST_CRT_DLLS.x86      = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),vcruntime140,x86)   vcruntime140_threads.dll
     195TOOL_VCC143_REDIST_CRT_DLLS.amd64    = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),vcruntime140,x64)   vcruntime140_threads.dll
     196TOOL_VCC143_REDIST_CRT_DLLS.arm32    = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),vcruntime140,arm)   vcruntime140_threads.dll
     197TOOL_VCC143_REDIST_CRT_DLLS.arm64    = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),vcruntime140,arm64) vcruntime140_threads.dll
     198TOOL_VCC143_REDIST_CRT_DLLS          = $(TOOL_VCC143_REDIST_CRT_DLLS.$(KBUILD_TARGET_ARCH))
     199
     200TOOL_VCC143_REDIST_CONCRT_DLLS.x86   = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),concrt140,x86)
     201TOOL_VCC143_REDIST_CONCRT_DLLS.amd64 = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),concrt140,x64)
     202TOOL_VCC143_REDIST_CONCRT_DLLS.arm32 = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),concrt140,arm)
     203TOOL_VCC143_REDIST_CONCRT_DLLS.arm64 = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),concrt140,arm64)
     204TOOL_VCC143_REDIST_CONCRT_DLLS       = $(TOOL_VCC143_REDIST_CONCRT_DLLS.$(KBUILD_TARGET_ARCH))
     205
     206TOOL_VCC143_REDIST_CPP_DLLS.x86      = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),msvcp140,x86)
     207TOOL_VCC143_REDIST_CPP_DLLS.amd64    = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),msvcp140,x64)
     208TOOL_VCC143_REDIST_CPP_DLLS.arm32    = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),msvcp140,arm)
     209TOOL_VCC143_REDIST_CPP_DLLS.arm64    = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),msvcp140,arm64)
     210TOOL_VCC143_REDIST_CPP_DLLS          = $(TOOL_VCC143_REDIST_CPP_DLLS.$(KBUILD_TARGET_ARCH))
     211
     212TOOL_VCC143_REDIST_WINRT_DLLS.x86    = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),vccorlib140,x86)
     213TOOL_VCC143_REDIST_WINRT_DLLS.amd64  = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),vccorlib140,x64)
     214TOOL_VCC143_REDIST_WINRT_DLLS.arm32  = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),vccorlib140,arm)
     215TOOL_VCC143_REDIST_WINRT_DLLS.arm64  = $(call FN_TOOL_VCC143_FIND_DLLS,$(TOOL_VCC143_REDIST_CRT_SUBDIR),vccorlib140,arm64)
     216TOOL_VCC143_REDIST_WINRT_DLLS        = $(TOOL_VCC143_REDIST_WINRT_DLLS.$(KBUILD_TARGET_ARCH))
     217
     218TOOL_VCC143_REDIST_CXXAMP_SUBDIR := Microsoft.VC143.CXXAMP
     219TOOL_VCC143_REDIST_MFC_SUBDIR    := Microsoft.VC143.MFC
     220TOOL_VCC143_REDIST_MFCLOC_SUBDIR := Microsoft.VC143.MFCLOC
     221TOOL_VCC143_REDIST_OPENMP_SUBDIR := Microsoft.VC143.OpenMP
    216222
    217223
     
    219225# Properties used by kBuild
    220226#
    221 TOOL_VCC142_COBJSUFF         ?= .obj
    222 TOOL_VCC142_CFLAGS           ?= -TC -nologo -Zi -ZH:SHA_256
    223 TOOL_VCC142_CFLAGS.debug     ?=
    224 TOOL_VCC142_CFLAGS.dbgopt    ?= -O2
    225 TOOL_VCC142_CFLAGS.release   ?= -O2
    226 TOOL_VCC142_CFLAGS.profile   ?= -O2
    227 TOOL_VCC142_CINCS            ?= $(PATH_TOOL_VCC142_INC)
    228 TOOL_VCC142_CDEFS            ?=
    229 
    230 TOOL_VCC142_CXXOBJSUFF       ?= .obj
    231 TOOL_VCC142_CXXFLAGS         ?= -TP -nologo -Zi -ZH:SHA_256
    232 TOOL_VCC142_CXXFLAGS.debug   ?=
    233 TOOL_VCC142_CXXFLAGS.dbgopt  ?= -O2
    234 TOOL_VCC142_CXXFLAGS.release ?= -O2
    235 TOOL_VCC142_CXXFLAGS.profile ?= -O2
    236 TOOL_VCC142_CXXINCS          ?= $(PATH_TOOL_VCC142_INC) $(PATH_TOOL_VCC142_ATLMFC_INC)
    237 TOOL_VCC142_CXXDEFS          ?=
    238 
    239 TOOL_VCC142_ASOBJSUFF        ?= .obj
    240 
    241 TOOL_VCC142_RCOBJSUFF        ?= .res
    242 TOOL_VCC142_RCINCS           ?= $(PATH_TOOL_VCC142_INC) $(PATH_TOOL_VCC142_ATLMFC_INC)
    243 
    244 TOOL_VCC142_ARFLAGS          ?= -nologo
    245 TOOL_VCC142_ARFLAGS.x86      ?= -machine:x86
    246 TOOL_VCC142_ARFLAGS.amd64    ?= -machine:amd64
    247 TOOL_VCC142_ARFLAGS.arm32    ?= -machine:arm
    248 TOOL_VCC142_ARLIBSUFF        ?= .lib
    249 
    250 TOOL_VCC142_LDFLAGS          ?= -nologo
    251 TOOL_VCC142_LDFLAGS.x86      ?= -machine:x86
    252 TOOL_VCC142_LDFLAGS.amd64    ?= -machine:amd64
    253 TOOL_VCC142_LDFLAGS.arm32    ?= -machine:arm
    254 TOOL_VCC142_LDFLAGS.debug    ?= -debug
    255 TOOL_VCC142_LDFLAGS.dbgopt   ?= -debug
    256 TOOL_VCC142_LDFLAGS.profile  ?= -debug
    257 TOOL_VCC142_LDFLAGS.release  ?=
     227TOOL_VCC143_COBJSUFF         ?= .obj
     228TOOL_VCC143_CFLAGS           ?= -TC -nologo -Zi -ZH:SHA_256
     229TOOL_VCC143_CFLAGS.debug     ?=
     230TOOL_VCC143_CFLAGS.dbgopt    ?= -O2
     231TOOL_VCC143_CFLAGS.release   ?= -O2
     232TOOL_VCC143_CFLAGS.profile   ?= -O2
     233TOOL_VCC143_CINCS            ?= $(PATH_TOOL_VCC143_INC)
     234TOOL_VCC143_CDEFS            ?=
     235
     236TOOL_VCC143_CXXOBJSUFF       ?= .obj
     237TOOL_VCC143_CXXFLAGS         ?= -TP -nologo -Zi -ZH:SHA_256
     238TOOL_VCC143_CXXFLAGS.debug   ?=
     239TOOL_VCC143_CXXFLAGS.dbgopt  ?= -O2
     240TOOL_VCC143_CXXFLAGS.release ?= -O2
     241TOOL_VCC143_CXXFLAGS.profile ?= -O2
     242TOOL_VCC143_CXXINCS          ?= $(PATH_TOOL_VCC143_INC) $(PATH_TOOL_VCC143_ATLMFC_INC)
     243TOOL_VCC143_CXXDEFS          ?=
     244
     245TOOL_VCC143_ASOBJSUFF        ?= .obj
     246
     247TOOL_VCC143_RCOBJSUFF        ?= .res
     248TOOL_VCC143_RCINCS           ?= $(PATH_TOOL_VCC143_INC) $(PATH_TOOL_VCC143_ATLMFC_INC)
     249
     250TOOL_VCC143_ARFLAGS          ?= -nologo
     251TOOL_VCC143_ARFLAGS.x86      ?= -machine:x86
     252TOOL_VCC143_ARFLAGS.amd64    ?= -machine:amd64
     253TOOL_VCC143_ARFLAGS.arm32    ?= -machine:arm
     254TOOL_VCC143_ARLIBSUFF        ?= .lib
     255
     256TOOL_VCC143_LDFLAGS          ?= -nologo
     257TOOL_VCC143_LDFLAGS.x86      ?= -machine:x86
     258TOOL_VCC143_LDFLAGS.amd64    ?= -machine:amd64
     259TOOL_VCC143_LDFLAGS.arm32    ?= -machine:arm
     260TOOL_VCC143_LDFLAGS.debug    ?= -debug
     261TOOL_VCC143_LDFLAGS.dbgopt   ?= -debug
     262TOOL_VCC143_LDFLAGS.profile  ?= -debug
     263TOOL_VCC143_LDFLAGS.release  ?=
    258264
    259265
     
    274280# @note The -d1scalableinclude- option disables include directory caching as the cache goes
    275281#       stale in kWorker.  Besides, kWorker does it's own caching, so it is not necessary.
    276 TOOL_VCC142_COMPILE_C_DEPEND =
    277 TOOL_VCC142_COMPILE_C_DEPORD =
    278 TOOL_VCC142_COMPILE_C_OUTPUT =
    279 TOOL_VCC142_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC142_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC142_PDB, $(outbase)-obj,idb)
    280 ifdef TOOL_VCC142_KSUBMIT
    281  TOOL_VCC142_COMPILE_C_DONT_PURGE_OUTPUT := 1 # speed
    282  define TOOL_VCC142_COMPILE_C_CMDS
    283         $(QUIET)$(TOOL_VCC142_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    284                 -- $(TOOL_VCC142_CC) -c -d1scalableinclude-\
     282TOOL_VCC143_COMPILE_C_DEPEND =
     283TOOL_VCC143_COMPILE_C_DEPORD =
     284TOOL_VCC143_COMPILE_C_OUTPUT =
     285TOOL_VCC143_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC143_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC143_PDB, $(outbase)-obj,idb)
     286ifdef TOOL_VCC143_KSUBMIT
     287 TOOL_VCC143_COMPILE_C_DONT_PURGE_OUTPUT := 1 # speed
     288 define TOOL_VCC143_COMPILE_C_CMDS
     289        $(QUIET)$(TOOL_VCC143_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     290                -- $(TOOL_VCC143_CC) -c -d1scalableinclude-\
    285291                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    286292                -Fd$(outbase)-obj.pdb \
     
    289295 endef
    290296else
    291  define TOOL_VCC142_COMPILE_C_CMDS
    292         $(QUIET)$(TOOL_VCC142_SETUP_ENV)$(TOOL_VCC142_CC) -c\
     297 define TOOL_VCC143_COMPILE_C_CMDS
     298        $(QUIET)$(TOOL_VCC143_SETUP_ENV)$(TOOL_VCC143_CC) -c\
    293299                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    294300                -Fd$(outbase)-obj.pdb \
     
    297303        $(QUIET)$(DEP_OBJ) -f -s -q -o $(dep) -t $(obj) $(obj)
    298304 endef
    299 endif # !TOOL_VCC142_KSUBMIT
     305endif # !TOOL_VCC143_KSUBMIT
    300306
    301307
     
    316322#       stale in kWorker.  Besides, kWorker does it's own caching, so it is not necessary.
    317323#       ('-d1' means it's passed to c1.dll/c1xx.dll and 'scalableinclude-' is the actual option.)
    318 TOOL_VCC142_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
    319 TOOL_VCC142_COMPILE_CXX_DEPORD =
    320 TOOL_VCC142_COMPILE_CXX_OUTPUT =
    321 TOOL_VCC142_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
    322         ,,$(call TOOL_VCC142_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC142_PDB, $(outbase)-obj,idb))
    323 ifdef TOOL_VCC142_KSUBMIT
    324  TOOL_VCC142_COMPILE_CXX_DONT_PURGE_OUTPUT := 1 # speed
    325  define TOOL_VCC142_COMPILE_CXX_CMDS
    326         $(QUIET)$(TOOL_VCC142_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    327                 -- $(TOOL_VCC142_CXX) -c -d1scalableinclude-\
     324TOOL_VCC143_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
     325TOOL_VCC143_COMPILE_CXX_DEPORD =
     326TOOL_VCC143_COMPILE_CXX_OUTPUT =
     327TOOL_VCC143_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
     328        ,,$(call TOOL_VCC143_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC143_PDB, $(outbase)-obj,idb))
     329ifdef TOOL_VCC143_KSUBMIT
     330 TOOL_VCC143_COMPILE_CXX_DONT_PURGE_OUTPUT := 1 # speed
     331 define TOOL_VCC143_COMPILE_CXX_CMDS
     332        $(QUIET)$(TOOL_VCC143_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     333                -- $(TOOL_VCC143_CXX) -c -d1scalableinclude-\
    328334                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    329335                $(if-expr defined($(target)_PCH_HDR)\
     
    334340 endef
    335341else
    336  define TOOL_VCC142_COMPILE_CXX_CMDS
    337         $(QUIET)$(TOOL_VCC142_SETUP_ENV)$(TOOL_VCC142_CXX) -c\
     342 define TOOL_VCC143_COMPILE_CXX_CMDS
     343        $(QUIET)$(TOOL_VCC143_SETUP_ENV)$(TOOL_VCC143_CXX) -c\
    338344                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    339345                $(if-expr defined($(target)_PCH_HDR)\
     
    344350        $(QUIET)$(DEP_OBJ) -f -s -q -o $(dep) -t $(obj) $(obj)
    345351 endef
    346 endif # !TOOL_VCC142_KSUBMIT
     352endif # !TOOL_VCC143_KSUBMIT
    347353
    348354
     
    353359# related _1_VCC_PCH_FILE and add -Yc.
    354360#
    355 TOOL_VCC142-PCH                         := Helper for creating precompiled header using CXX handling.
    356 TOOL_VCC142-PCH_EXTENDS                 := VCC142
    357 TOOL_VCC142-PCH_CXXOBJSUFF              := .obj
    358 TOOL_VCC142-PCH_CXXINCS                  = $(TOOL_VCC142_CXXINCS)
    359 TOOL_VCC142-PCH_CXXFLAGS                 = $(TOOL_VCC142_CXXFLAGS) -FS
    360 TOOL_VCC142-PCH_CXXFLAGS.debug           = $(TOOL_VCC142_CXXFLAGS.debug)
    361 TOOL_VCC142-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC142_CXXFLAGS.dbgopt)
    362 TOOL_VCC142-PCH_CXXFLAGS.release         = $(TOOL_VCC142_CXXFLAGS.release)
    363 TOOL_VCC142-PCH_CXXFLAGS.profile         = $(TOOL_VCC142_CXXFLAGS.profile)
    364 TOOL_VCC142-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
    365 TOOL_VCC142-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
    366 TOOL_VCC142-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    367 TOOL_VCC142-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
    368 ifdef TOOL_VCC142_KSUBMIT
    369  define TOOL_VCC142-PCH_COMPILE_CXX_CMDS
     361TOOL_VCC143-PCH                         := Helper for creating precompiled header using CXX handling.
     362TOOL_VCC143-PCH_EXTENDS                 := VCC143
     363TOOL_VCC143-PCH_CXXOBJSUFF              := .obj
     364TOOL_VCC143-PCH_CXXINCS                  = $(TOOL_VCC143_CXXINCS)
     365TOOL_VCC143-PCH_CXXFLAGS                 = $(TOOL_VCC143_CXXFLAGS) -FS
     366TOOL_VCC143-PCH_CXXFLAGS.debug           = $(TOOL_VCC143_CXXFLAGS.debug)
     367TOOL_VCC143-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC143_CXXFLAGS.dbgopt)
     368TOOL_VCC143-PCH_CXXFLAGS.release         = $(TOOL_VCC143_CXXFLAGS.release)
     369TOOL_VCC143-PCH_CXXFLAGS.profile         = $(TOOL_VCC143_CXXFLAGS.profile)
     370TOOL_VCC143-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
     371TOOL_VCC143-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
     372TOOL_VCC143-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
     373TOOL_VCC143-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
     374ifdef TOOL_VCC143_KSUBMIT
     375 define TOOL_VCC143-PCH_COMPILE_CXX_CMDS
    370376        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    371         $(QUIET)$(TOOL_VCC142_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
    372                 -- $(TOOL_VCC142_CXX) -c -Yc -d1scalableinclude-\
     377        $(QUIET)$(TOOL_VCC143_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
     378                -- $(TOOL_VCC143_CXX) -c -Yc -d1scalableinclude-\
    373379                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    374380               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    379385 endef
    380386else
    381  define TOOL_VCC142-PCH_COMPILE_CXX_CMDS
     387 define TOOL_VCC143-PCH_COMPILE_CXX_CMDS
    382388        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    383         $(QUIET)$(TOOL_VCC142_SETUP_ENV)$(TOOL_VCC142_CXX) -c -Yc\
     389        $(QUIET)$(TOOL_VCC143_SETUP_ENV)$(TOOL_VCC143_CXX) -c -Yc\
    384390                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    385391               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    391397
    392398 endef
    393 endif # !TOOL_VCC142_KSUBMIT
     399endif # !TOOL_VCC143_KSUBMIT
    394400
    395401
     
    409415# @param    $(outbase)  Output basename (full). Use this for list files and such.
    410416# @param    $(objsuff)  Object suffix.
    411 TOOL_VCC142_COMPILE_RC_DEPEND =
    412 TOOL_VCC142_COMPILE_RC_DEPORD =
    413 TOOL_VCC142_COMPILE_RC_OUTPUT =
    414 define TOOL_VCC142_COMPILE_RC_CMDS
    415         $(QUIET)$(TOOL_VCC142_RC) \
     417TOOL_VCC143_COMPILE_RC_DEPEND =
     418TOOL_VCC143_COMPILE_RC_DEPORD =
     419TOOL_VCC143_COMPILE_RC_OUTPUT =
     420define TOOL_VCC143_COMPILE_RC_CMDS
     421        $(QUIET)$(TOOL_VCC143_RC) \
    416422                $(flags) $(qaddprefix sh,/i, $(subst /,\\,$(incs))) $(qaddprefix sh,/d, $(defs))\
    417423                /fo$(obj)\
     
    430436# @param    $(outbase)  Output basename (full). Use this for list files and such.
    431437#
    432 TOOL_VCC142_LINK_LIBRARY_DEPEND = $(othersrc)
    433 TOOL_VCC142_LINK_LIBRARY_DEPORD =
    434 TOOL_VCC142_LINK_LIBRARY_OUTPUT = $(outbase).rsp
    435 TOOL_VCC142_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
    436 define TOOL_VCC142_LINK_LIBRARY_CMDS
     438TOOL_VCC143_LINK_LIBRARY_DEPEND = $(othersrc)
     439TOOL_VCC143_LINK_LIBRARY_DEPORD =
     440TOOL_VCC143_LINK_LIBRARY_OUTPUT = $(outbase).rsp
     441TOOL_VCC143_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
     442define TOOL_VCC143_LINK_LIBRARY_CMDS
    437443        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    438444                $(qforeachfile u,arg, $(objs) $(filter-out %.def,$(othersrc)),$(quote-sh "$(subst /,\,$(arg))")) \
    439445                $(qforeachfile u,arg, $(filter %.def,$(othersrc)),$(quote-sh "/DEF:$(subst /,\,$(arg))"))
    440         $(QUIET)$(TOOL_VCC142_KSUBMIT_DD) $(TOOL_VCC142_AR) $(flags) /OUT:$(out) @$(outbase).rsp
     446        $(QUIET)$(TOOL_VCC143_KSUBMIT_DD) $(TOOL_VCC143_AR) $(flags) /OUT:$(out) @$(outbase).rsp
    441447endef
    442448
     
    456462# @param    $(outbase)      Output basename (full). Use this for list files and such.
    457463#
    458 TOOL_VCC142_LINK_PROGRAM_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    459 TOOL_VCC142_LINK_PROGRAM_DEPORD =
    460 TOOL_VCC142_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
    461 TOOL_VCC142_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    462 TOOL_VCC142_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
    463 TOOL_VCC142_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    464 define TOOL_VCC142_LINK_PROGRAM_CMDS
     464TOOL_VCC143_LINK_PROGRAM_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     465TOOL_VCC143_LINK_PROGRAM_DEPORD =
     466TOOL_VCC143_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
     467TOOL_VCC143_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     468TOOL_VCC143_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
     469TOOL_VCC143_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     470define TOOL_VCC143_LINK_PROGRAM_CMDS
    465471        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    466472                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    467         $(QUIET)$(TOOL_VCC142_KSUBMIT_DD) $(TOOL_VCC142_LD) $(flags) \
     473        $(QUIET)$(TOOL_VCC143_KSUBMIT_DD) $(TOOL_VCC143_LD) $(flags) \
    468474                /OUT:$(out) \
    469475                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    473479                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    474480                @$(outbase).rsp
    475 ifndef TOOL_VCC142_NO_AUTO_MANIFEST
     481ifndef TOOL_VCC143_NO_AUTO_MANIFEST
    476482        $(QUIET)$(TEST) -f $(out).manifest -- \
    477                 $(TOOL_VCC142_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
     483                $(TOOL_VCC143_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
    478484endif
    479485endef
     
    494500#
    495501# @param    $(outbase)  Output basename (full). Use this for list files and such.
    496 TOOL_VCC142_LINK_DLL_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    497 TOOL_VCC142_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
    498 TOOL_VCC142_LINK_DLL_OUTPUT = $(outbase).lib $(outbase).exp
    499 TOOL_VCC142_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
    500 TOOL_VCC142_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(outbase).map $(outbase).rsp
    501 TOOL_VCC142_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
    502 TOOL_VCC142_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    503 define TOOL_VCC142_LINK_DLL_CMDS
     502TOOL_VCC143_LINK_DLL_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     503TOOL_VCC143_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
     504TOOL_VCC143_LINK_DLL_OUTPUT = $(outbase).lib $(outbase).exp
     505TOOL_VCC143_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
     506TOOL_VCC143_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(outbase).map $(outbase).rsp
     507TOOL_VCC143_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
     508TOOL_VCC143_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     509define TOOL_VCC143_LINK_DLL_CMDS
    504510        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    505511                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    506         $(QUIET)$(TOOL_VCC142_KSUBMIT_DD) $(TOOL_VCC142_LD) $(flags) \
     512        $(QUIET)$(TOOL_VCC143_KSUBMIT_DD) $(TOOL_VCC143_LD) $(flags) \
    507513                /OUT:$(out) \
    508514                /IMPLIB:$(outbase).lib \
     
    514520                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    515521                @$(outbase).rsp
    516 ifndef TOOL_VCC142_NO_AUTO_MANIFEST
     522ifndef TOOL_VCC143_NO_AUTO_MANIFEST
    517523        $(QUIET)$(TEST) -f $(out).manifest -- \
    518                 $(TOOL_VCC142_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     524                $(TOOL_VCC143_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    519525endif
    520526        $(QUIET)$(TEST) -f $(outbase).lib -- $(KLIBTWEAKER_EXT) --clear-timestamps $(outbase).lib
     
    538544#
    539545# @param    $(outbase)  Output basename (full). Use this for list files and such.
    540 TOOL_VCC142_LINK_SYSMOD_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    541 TOOL_VCC142_LINK_SYSMOD_DEPORD =
    542 TOOL_VCC142_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    543 TOOL_VCC142_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
    544 TOOL_VCC142_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
    545 TOOL_VCC142_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    546 define TOOL_VCC142_LINK_SYSMOD_CMDS
     546TOOL_VCC143_LINK_SYSMOD_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     547TOOL_VCC143_LINK_SYSMOD_DEPORD =
     548TOOL_VCC143_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     549TOOL_VCC143_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
     550TOOL_VCC143_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
     551TOOL_VCC143_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     552define TOOL_VCC143_LINK_SYSMOD_CMDS
    547553        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    548554                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    549         $(QUIET)$(TOOL_VCC142_KSUBMIT_DD) $(TOOL_VCC142_LD) $(flags) \
     555        $(QUIET)$(TOOL_VCC143_KSUBMIT_DD) $(TOOL_VCC143_LD) $(flags) \
    550556                /OUT:$(out) \
    551557                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    555561                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    556562                @$(outbase).rsp
    557 ifndef TOOL_VCC142_NO_AUTO_MANIFEST
     563ifndef TOOL_VCC143_NO_AUTO_MANIFEST
    558564        $(QUIET)$(TEST) -f $(out).manifest -- \
    559                 $(TOOL_VCC142_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     565                $(TOOL_VCC143_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    560566endif
    561567endef
  • trunk/kBuild/tools/VCC143AMD64.kmk

    r3614 r3615  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - Visual C++ 14.2 (aka Visual 2019 and MSC v19.20), targeting AMD64.
    4 #
    5 
    6 #
    7 # Copyright (c) 2004-2020 knut st. osmundsen <[email protected]>
     3# kBuild Tool Config - Visual C++ 14.3 (aka Visual 2022 and MSC v19.30+), targeting AMD64.
     4#
     5
     6#
     7# Copyright (c) 2004-2024 knut st. osmundsen <[email protected]>
    88#
    99# This file is part of kBuild.
     
    3232#
    3333
    34 ifndef TOOL_VCC142
    35  include $(KBUILD_PATH)/tools/VCC142.kmk
    36 endif
    37 
    38 TOOL_VCC142AMD64 := Visual C++ 14.2 (aka Visual 2019 and MSC v19.20), targeting AMD64
     34ifndef TOOL_VCC143
     35 include $(KBUILD_PATH)/tools/VCC143.kmk
     36endif
     37
     38TOOL_VCC143AMD64 := Visual C++ 14.3 (aka Visual 2022 and MSC v19.30+), targeting AMD64
    3939
    4040#
    4141# Tool Specific Properties
    4242#
    43 ifndef PATH_TOOL_VCC142AMD64
    44  PATH_TOOL_VCC142AMD64 := $(PATH_TOOL_VCC142)
     43ifndef PATH_TOOL_VCC143AMD64
     44 PATH_TOOL_VCC143AMD64 := $(PATH_TOOL_VCC143)
    4545else
    4646 # Resolve any fancy stuff once and for all.
    47  PATH_TOOL_VCC142AMD64 := $(PATH_TOOL_VCC142AMD64)
    48 endif
    49 
    50 ifndef PATH_TOOL_VCC142AMD64_BIN
    51 PATH_TOOL_VCC142AMD64_BIN     := $(PATH_TOOL_VCC142_HOST_BIN)/x64
     47 PATH_TOOL_VCC143AMD64 := $(PATH_TOOL_VCC143AMD64)
     48endif
     49
     50ifndef PATH_TOOL_VCC143AMD64_BIN
     51PATH_TOOL_VCC143AMD64_BIN     := $(PATH_TOOL_VCC143_HOST_BIN)/x64
    5252else
    53 PATH_TOOL_VCC142AMD64_BIN     := $(PATH_TOOL_VCC142AMD64_BIN)
    54 endif
    55 PATH_TOOL_VCC142AMD64_BIN_QSH := $(requote sh,$(PATH_TOOL_VCC142AMD64_BIN))
     53PATH_TOOL_VCC143AMD64_BIN     := $(PATH_TOOL_VCC143AMD64_BIN)
     54endif
     55PATH_TOOL_VCC143AMD64_BIN_QSH := $(requote sh,$(PATH_TOOL_VCC143AMD64_BIN))
    5656
    5757# A bunch of DLLs are only in the subdir matching the host one, so we need to add it to the PATH when cross compiling.
    58 ifndef PATH_TOOL_VCC142AMD64_DLL_BIN
    59  ifneq ($(PATH_TOOL_VCC142_HOST_DLL_BIN),$(PATH_TOOL_VCC142AMD64_BIN))
    60 PATH_TOOL_VCC142AMD64_DLL_BIN := $(PATH_TOOL_VCC142_HOST_DLL_BIN)
     58ifndef PATH_TOOL_VCC143AMD64_DLL_BIN
     59 ifneq ($(PATH_TOOL_VCC143_HOST_DLL_BIN),$(PATH_TOOL_VCC143AMD64_BIN))
     60PATH_TOOL_VCC143AMD64_DLL_BIN := $(PATH_TOOL_VCC143_HOST_DLL_BIN)
    6161 endif
    6262endif
    6363
    64 ifndef PATH_TOOL_VCC142AMD64_LIB
    65 PATH_TOOL_VCC142AMD64_LIB     := $(PATH_TOOL_VCC142_LIB.amd64)
    66 endif
    67 ifndef PATH_TOOL_VCC142_ONECORE_LIB
    68 PATH_TOOL_VCC142_ONECORE_LIB  := $(PATH_TOOL_VCC142_ONECORE_LIB.amd64)
    69 endif
    70 
    71 ifndef PATH_TOOL_VCC142AMD64_INC
    72 PATH_TOOL_VCC142AMD64_INC     := $(PATH_TOOL_VCC142_INC)
    73 endif
    74 
    75 ifndef PATH_TOOL_VCC142AMD64_ATLMFC_INC
    76 PATH_TOOL_VCC142AMD64_ATLMFC_INC := $(PATH_TOOL_VCC142_ATLMFC_INC.amd64)
    77 endif
    78 ifndef PATH_TOOL_VCC142AMD64_ATLMFC_LIB
    79 PATH_TOOL_VCC142AMD64_ATLMFC_LIB := $(PATH_TOOL_VCC142_ATLMFC_LIB.amd64)
    80 endif
    81 
    82 TOOL_VCC142AMD64_CC      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/cl.exe
    83 TOOL_VCC142AMD64_CXX     ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/cl.exe
    84 TOOL_VCC142AMD64_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/ml64.exe
    85 #TOOL_VCC142AMD64_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/lib.exe - just an exec wrapper for the below
    86 TOOL_VCC142AMD64_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/link.exe /LIB
    87 TOOL_VCC142AMD64_LD      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/link.exe
    88 TOOL_VCC142AMD64_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/dumpbin.exe
    89 TOOL_VCC142AMD64_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/editbin.exe
    90 
    91 TOOL_VCC142AMD64_RC      ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC142_RC_CACHED)
    92 TOOL_VCC142AMD64_MT      ?= $(TOOL_VCC142AMD64_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC142_MT_CACHED)
    93 TOOL_VCC142AMD64_MT_RETRY ?= $(TOOL_VCC142_MT_RETRY)
    94 
    95 ifdef TOOL_VCC142AMD64_USE_KSUBMIT
     64ifndef PATH_TOOL_VCC143AMD64_LIB
     65PATH_TOOL_VCC143AMD64_LIB     := $(PATH_TOOL_VCC143_LIB.amd64)
     66endif
     67ifndef PATH_TOOL_VCC143_ONECORE_LIB
     68PATH_TOOL_VCC143_ONECORE_LIB  := $(PATH_TOOL_VCC143_ONECORE_LIB.amd64)
     69endif
     70
     71ifndef PATH_TOOL_VCC143AMD64_INC
     72PATH_TOOL_VCC143AMD64_INC     := $(PATH_TOOL_VCC143_INC)
     73endif
     74
     75ifndef PATH_TOOL_VCC143AMD64_ATLMFC_INC
     76PATH_TOOL_VCC143AMD64_ATLMFC_INC := $(PATH_TOOL_VCC143_ATLMFC_INC.amd64)
     77endif
     78ifndef PATH_TOOL_VCC143AMD64_ATLMFC_LIB
     79PATH_TOOL_VCC143AMD64_ATLMFC_LIB := $(PATH_TOOL_VCC143_ATLMFC_LIB.amd64)
     80endif
     81
     82TOOL_VCC143AMD64_CC      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143AMD64_BIN_QSH)/cl.exe
     83TOOL_VCC143AMD64_CXX     ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143AMD64_BIN_QSH)/cl.exe
     84TOOL_VCC143AMD64_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143AMD64_BIN_QSH)/ml64.exe
     85#TOOL_VCC143AMD64_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143AMD64_BIN_QSH)/lib.exe - just an exec wrapper for the below
     86TOOL_VCC143AMD64_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143AMD64_BIN_QSH)/link.exe /LIB
     87TOOL_VCC143AMD64_LD      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143AMD64_BIN_QSH)/link.exe
     88TOOL_VCC143AMD64_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143AMD64_BIN_QSH)/dumpbin.exe
     89TOOL_VCC143AMD64_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143AMD64_BIN_QSH)/editbin.exe
     90
     91TOOL_VCC143AMD64_RC      ?= $(EXEC_X86_WIN32) $(call TOOL_VCC143_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC143_RC_CACHED)
     92TOOL_VCC143AMD64_MT      ?= $(TOOL_VCC143AMD64_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC143_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC143_MT_CACHED)
     93TOOL_VCC143AMD64_MT_RETRY ?= $(TOOL_VCC143_MT_RETRY)
     94
     95ifdef TOOL_VCC143AMD64_USE_KSUBMIT
    9696 ifeq ($(KBUILD_HOST),win)
    97   ifeq ($(findstring /HostX86/,$(PATH_TOOL_VCC142AMD64_BIN)),/HostX86/)
    98    TOOL_VCC142AMD64_KSUBMIT ?= kmk_builtin_kSubmit --32-bit
     97  ifeq ($(findstring /HostX86/,$(PATH_TOOL_VCC143AMD64_BIN)),/HostX86/)
     98   TOOL_VCC143AMD64_KSUBMIT ?= kmk_builtin_kSubmit --32-bit
    9999  else
    100    TOOL_VCC142AMD64_KSUBMIT ?= kmk_builtin_kSubmit --64-bit
     100   TOOL_VCC143AMD64_KSUBMIT ?= kmk_builtin_kSubmit --64-bit
    101101  endif
    102   ifdef PATH_TOOL_VCC142AMD64_DLL_BIN
    103    TOOL_VCC142AMD64_KSUBMIT := $(TOOL_VCC142AMD64_KSUBMIT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC142AMD64_DLL_BIN));"
     102  ifdef PATH_TOOL_VCC143AMD64_DLL_BIN
     103   TOOL_VCC143AMD64_KSUBMIT := $(TOOL_VCC143AMD64_KSUBMIT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC143AMD64_DLL_BIN));"
    104104  endif
    105   TOOL_VCC142AMD64_KSUBMIT_DD := $(TOOL_VCC142AMD64_KSUBMIT) --
     105  TOOL_VCC143AMD64_KSUBMIT_DD := $(TOOL_VCC143AMD64_KSUBMIT) --
    106106 endif
    107107endif
    108 ifdef PATH_TOOL_VCC142AMD64_DLL_BIN
    109  TOOL_VCC142AMD64_SETUP_ENV   := $(REDIRECT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC142AMD64_DLL_BIN));" --$(SP)
    110  ifndef TOOL_VCC142AMD64_KSUBMIT_DD
    111   TOOL_VCC142AMD64_KSUBMIT_DD := $(TOOL_VCC142AMD64_SETUP_ENV)
     108ifdef PATH_TOOL_VCC143AMD64_DLL_BIN
     109 TOOL_VCC143AMD64_SETUP_ENV   := $(REDIRECT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC143AMD64_DLL_BIN));" --$(SP)
     110 ifndef TOOL_VCC143AMD64_KSUBMIT_DD
     111  TOOL_VCC143AMD64_KSUBMIT_DD := $(TOOL_VCC143AMD64_SETUP_ENV)
    112112 endif
    113113endif
    114114
    115 # Redist (more stuff in VCC142.kmk).
    116 PATH_TOOL_VCC142AMD64_REDIST           ?= $(PATH_TOOL_VCC142_REDIST)/x64
    117 PATH_TOOL_VCC142AMD64_REDIST_CRT        = $(PATH_TOOL_VCC142AMD64_REDIST)/$(TOOL_VCC142_REDIST_CRT_SUBDIR)
    118 PATH_TOOL_VCC142AMD64_REDIST_DEBUG     ?= $(PATH_TOOL_VCC142_REDIST_DEBUG)/x64
    119 PATH_TOOL_VCC142AMD64_REDIST_DEBUG_CRT  = $(PATH_TOOL_VCC142AMD64_REDIST_DEBUG)/$(TOOL_VCC142_REDIST_DEBUG_CRT_SUBDIR)
    120 TOOL_VCC142AMD64_REDIST_CRT_DLLS        = $(TOOL_VCC142_REDIST_CRT_DLLS.amd64)
    121 TOOL_VCC142AMD64_REDIST_CONCRT_DLLS     = $(TOOL_VCC142_REDIST_CONCRT_DLLS.amd64)
    122 TOOL_VCC142AMD64_REDIST_CPP_DLLS        = $(TOOL_VCC142_REDIST_CPP_DLLS.amd64)
    123 TOOL_VCC142AMD64_REDIST_WINRT_DLLS      = $(TOOL_VCC142_REDIST_WINRT_DLLS.amd64)
     115# Redist (more stuff in VCC143.kmk).
     116PATH_TOOL_VCC143AMD64_REDIST           ?= $(PATH_TOOL_VCC143_REDIST)/x64
     117PATH_TOOL_VCC143AMD64_REDIST_CRT        = $(PATH_TOOL_VCC143AMD64_REDIST)/$(TOOL_VCC143_REDIST_CRT_SUBDIR)
     118PATH_TOOL_VCC143AMD64_REDIST_DEBUG     ?= $(PATH_TOOL_VCC143_REDIST_DEBUG)/x64
     119PATH_TOOL_VCC143AMD64_REDIST_DEBUG_CRT  = $(PATH_TOOL_VCC143AMD64_REDIST_DEBUG)/$(TOOL_VCC143_REDIST_DEBUG_CRT_SUBDIR)
     120TOOL_VCC143AMD64_REDIST_CRT_DLLS        = $(TOOL_VCC143_REDIST_CRT_DLLS.amd64)
     121TOOL_VCC143AMD64_REDIST_CONCRT_DLLS     = $(TOOL_VCC143_REDIST_CONCRT_DLLS.amd64)
     122TOOL_VCC143AMD64_REDIST_CPP_DLLS        = $(TOOL_VCC143_REDIST_CPP_DLLS.amd64)
     123TOOL_VCC143AMD64_REDIST_WINRT_DLLS      = $(TOOL_VCC143_REDIST_WINRT_DLLS.amd64)
    124124
    125125
     
    127127# Properties used by kBuild
    128128#
    129 TOOL_VCC142AMD64_COBJSUFF         ?= .obj
    130 TOOL_VCC142AMD64_CFLAGS           ?= -TC -nologo -Zi -ZH:SHA_256
    131 TOOL_VCC142AMD64_CFLAGS.debug     ?=
    132 TOOL_VCC142AMD64_CFLAGS.dbgopt    ?= -O2
    133 TOOL_VCC142AMD64_CFLAGS.release   ?= -O2
    134 TOOL_VCC142AMD64_CFLAGS.profile   ?= -O2
    135 TOOL_VCC142AMD64_CINCS            ?= $(PATH_TOOL_VCC142AMD64_INC)
    136 TOOL_VCC142AMD64_CDEFS            ?=
    137 
    138 TOOL_VCC142AMD64_CXXOBJSUFF       ?= .obj
    139 TOOL_VCC142AMD64_CXXFLAGS         ?= -TP -nologo -Zi -ZH:SHA_256
    140 TOOL_VCC142AMD64_CXXFLAGS.debug   ?=
    141 TOOL_VCC142AMD64_CXXFLAGS.dbgopt  ?= -O2
    142 TOOL_VCC142AMD64_CXXFLAGS.release ?= -O2
    143 TOOL_VCC142AMD64_CXXFLAGS.profile ?= -O2
    144 TOOL_VCC142AMD64_CXXINCS          ?= $(PATH_TOOL_VCC142AMD64_INC) $(PATH_TOOL_VCC142AMD64_ATLMFC_INC)
    145 TOOL_VCC142AMD64_CXXDEFS          ?=
    146 
    147 TOOL_VCC142AMD64_ASOBJSUFF        ?= .obj
    148 
    149 TOOL_VCC142AMD64_RCOBJSUFF        ?= .res
    150 TOOL_VCC142AMD64_RCINCS           ?= $(PATH_TOOL_VCC142AMD64_INC) $(PATH_TOOL_VCC142AMD64_ATLMFC_INC)
    151 
    152 TOOL_VCC142AMD64_ARFLAGS          ?= -nologo -machine:amd64
    153 TOOL_VCC142AMD64_ARLIBSUFF        ?= .lib
    154 
    155 TOOL_VCC142AMD64_LDFLAGS          ?= -nologo -machine:amd64
    156 TOOL_VCC142AMD64_LDFLAGS.debug    ?= -debug
    157 TOOL_VCC142AMD64_LDFLAGS.dbgopt   ?= -debug
    158 TOOL_VCC142AMD64_LDFLAGS.profile  ?= -debug
    159 TOOL_VCC142AMD64_LDFLAGS.release  ?=
     129TOOL_VCC143AMD64_COBJSUFF         ?= .obj
     130TOOL_VCC143AMD64_CFLAGS           ?= -TC -nologo -Zi -ZH:SHA_256
     131TOOL_VCC143AMD64_CFLAGS.debug     ?=
     132TOOL_VCC143AMD64_CFLAGS.dbgopt    ?= -O2
     133TOOL_VCC143AMD64_CFLAGS.release   ?= -O2
     134TOOL_VCC143AMD64_CFLAGS.profile   ?= -O2
     135TOOL_VCC143AMD64_CINCS            ?= $(PATH_TOOL_VCC143AMD64_INC)
     136TOOL_VCC143AMD64_CDEFS            ?=
     137
     138TOOL_VCC143AMD64_CXXOBJSUFF       ?= .obj
     139TOOL_VCC143AMD64_CXXFLAGS         ?= -TP -nologo -Zi -ZH:SHA_256
     140TOOL_VCC143AMD64_CXXFLAGS.debug   ?=
     141TOOL_VCC143AMD64_CXXFLAGS.dbgopt  ?= -O2
     142TOOL_VCC143AMD64_CXXFLAGS.release ?= -O2
     143TOOL_VCC143AMD64_CXXFLAGS.profile ?= -O2
     144TOOL_VCC143AMD64_CXXINCS          ?= $(PATH_TOOL_VCC143AMD64_INC) $(PATH_TOOL_VCC143AMD64_ATLMFC_INC)
     145TOOL_VCC143AMD64_CXXDEFS          ?=
     146
     147TOOL_VCC143AMD64_ASOBJSUFF        ?= .obj
     148
     149TOOL_VCC143AMD64_RCOBJSUFF        ?= .res
     150TOOL_VCC143AMD64_RCINCS           ?= $(PATH_TOOL_VCC143AMD64_INC) $(PATH_TOOL_VCC143AMD64_ATLMFC_INC)
     151
     152TOOL_VCC143AMD64_ARFLAGS          ?= -nologo -machine:amd64
     153TOOL_VCC143AMD64_ARLIBSUFF        ?= .lib
     154
     155TOOL_VCC143AMD64_LDFLAGS          ?= -nologo -machine:amd64
     156TOOL_VCC143AMD64_LDFLAGS.debug    ?= -debug
     157TOOL_VCC143AMD64_LDFLAGS.dbgopt   ?= -debug
     158TOOL_VCC143AMD64_LDFLAGS.profile  ?= -debug
     159TOOL_VCC143AMD64_LDFLAGS.release  ?=
    160160
    161161
     
    176176# @note The -d1scalableinclude- option disables include directory caching as the cache goes
    177177#       stale in kWorker.  Besides, kWorker does it's own caching, so it is not necessary.
    178 TOOL_VCC142AMD64_COMPILE_C_DEPEND =
    179 TOOL_VCC142AMD64_COMPILE_C_DEPORD =
    180 TOOL_VCC142AMD64_COMPILE_C_OUTPUT =
    181 TOOL_VCC142AMD64_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC142_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC142_PDB, $(outbase)-obj,idb)
    182 ifdef TOOL_VCC142AMD64_KSUBMIT
    183  TOOL_VCC142AMD64_COMPILE_C_DONT_PURGE_OUTPUT := 1 # speed
    184  define TOOL_VCC142AMD64_COMPILE_C_CMDS
    185         $(QUIET)$(TOOL_VCC142AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    186                 -- $(TOOL_VCC142AMD64_CC) -c -d1scalableinclude-\
     178TOOL_VCC143AMD64_COMPILE_C_DEPEND =
     179TOOL_VCC143AMD64_COMPILE_C_DEPORD =
     180TOOL_VCC143AMD64_COMPILE_C_OUTPUT =
     181TOOL_VCC143AMD64_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC143_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC143_PDB, $(outbase)-obj,idb)
     182ifdef TOOL_VCC143AMD64_KSUBMIT
     183 TOOL_VCC143AMD64_COMPILE_C_DONT_PURGE_OUTPUT := 1 # speed
     184 define TOOL_VCC143AMD64_COMPILE_C_CMDS
     185        $(QUIET)$(TOOL_VCC143AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     186                -- $(TOOL_VCC143AMD64_CC) -c -d1scalableinclude-\
    187187                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    188188                -Fd$(outbase)-obj.pdb \
     
    191191 endef
    192192else
    193  define TOOL_VCC142AMD64_COMPILE_C_CMDS
    194         $(QUIET)$(TOOL_VCC142AMD64_SETUP_ENV)$(TOOL_VCC142AMD64_CC) -c\
     193 define TOOL_VCC143AMD64_COMPILE_C_CMDS
     194        $(QUIET)$(TOOL_VCC143AMD64_SETUP_ENV)$(TOOL_VCC143AMD64_CC) -c\
    195195                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    196196                -Fd$(outbase)-obj.pdb \
     
    199199        $(QUIET)$(DEP_OBJ) -f -s -q -o $(dep) -t $(obj) $(obj)
    200200 endef
    201 endif # !TOOL_VCC142AMD64_KSUBMIT
     201endif # !TOOL_VCC143AMD64_KSUBMIT
    202202
    203203
     
    218218#       stale in kWorker.  Besides, kWorker does it's own caching, so it is not necessary.
    219219#       ('-d1' means it's passed to c1.dll/c1xx.dll and 'scalableinclude-' is the actual option.)
    220 TOOL_VCC142AMD64_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
    221 TOOL_VCC142AMD64_COMPILE_CXX_DEPORD =
    222 TOOL_VCC142AMD64_COMPILE_CXX_OUTPUT =
    223 TOOL_VCC142AMD64_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
    224         ,,$(call TOOL_VCC142_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC142_PDB, $(outbase)-obj,idb))
    225 ifdef TOOL_VCC142AMD64_KSUBMIT
    226  TOOL_VCC142AMD64_COMPILE_CXX_DONT_PURGE_OUTPUT := 1 # speed
    227  define TOOL_VCC142AMD64_COMPILE_CXX_CMDS
    228         $(QUIET)$(TOOL_VCC142AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    229                 -- $(TOOL_VCC142AMD64_CXX) -c -d1scalableinclude-\
     220TOOL_VCC143AMD64_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
     221TOOL_VCC143AMD64_COMPILE_CXX_DEPORD =
     222TOOL_VCC143AMD64_COMPILE_CXX_OUTPUT =
     223TOOL_VCC143AMD64_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
     224        ,,$(call TOOL_VCC143_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC143_PDB, $(outbase)-obj,idb))
     225ifdef TOOL_VCC143AMD64_KSUBMIT
     226 TOOL_VCC143AMD64_COMPILE_CXX_DONT_PURGE_OUTPUT := 1 # speed
     227 define TOOL_VCC143AMD64_COMPILE_CXX_CMDS
     228        $(QUIET)$(TOOL_VCC143AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     229                -- $(TOOL_VCC143AMD64_CXX) -c -d1scalableinclude-\
    230230                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    231231                $(if-expr defined($(target)_PCH_HDR)\
     
    236236 endef
    237237else
    238  define TOOL_VCC142AMD64_COMPILE_CXX_CMDS
    239         $(QUIET)$(TOOL_VCC142AMD64_SETUP_ENV)$(TOOL_VCC142AMD64_CXX) -c\
     238 define TOOL_VCC143AMD64_COMPILE_CXX_CMDS
     239        $(QUIET)$(TOOL_VCC143AMD64_SETUP_ENV)$(TOOL_VCC143AMD64_CXX) -c\
    240240                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    241241                $(if-expr defined($(target)_PCH_HDR)\
     
    246246        $(QUIET)$(DEP_OBJ) -f -s -q -o $(dep) -t $(obj) $(obj)
    247247 endef
    248 endif # !TOOL_VCC142AMD64_KSUBMIT
     248endif # !TOOL_VCC143AMD64_KSUBMIT
    249249
    250250
     
    255255# related _1_VCC_PCH_FILE and add -Yc.
    256256#
    257 TOOL_VCC142AMD64-PCH                         := Helper for creating precompiled header using CXX handling.
    258 TOOL_VCC142AMD64-PCH_EXTENDS                 := VCC142AMD64
    259 TOOL_VCC142AMD64-PCH_CXXOBJSUFF              := .obj
    260 TOOL_VCC142AMD64-PCH_CXXINCS                  = $(TOOL_VCC142AMD64_CXXINCS)
    261 TOOL_VCC142AMD64-PCH_CXXFLAGS                 = $(TOOL_VCC142AMD64_CXXFLAGS) -FS
    262 TOOL_VCC142AMD64-PCH_CXXFLAGS.debug           = $(TOOL_VCC142AMD64_CXXFLAGS.debug)
    263 TOOL_VCC142AMD64-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC142AMD64_CXXFLAGS.dbgopt)
    264 TOOL_VCC142AMD64-PCH_CXXFLAGS.release         = $(TOOL_VCC142AMD64_CXXFLAGS.release)
    265 TOOL_VCC142AMD64-PCH_CXXFLAGS.profile         = $(TOOL_VCC142AMD64_CXXFLAGS.profile)
    266 TOOL_VCC142AMD64-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
    267 TOOL_VCC142AMD64-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
    268 TOOL_VCC142AMD64-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    269 TOOL_VCC142AMD64-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
    270 ifdef TOOL_VCC142AMD64_KSUBMIT
    271  define TOOL_VCC142AMD64-PCH_COMPILE_CXX_CMDS
     257TOOL_VCC143AMD64-PCH                         := Helper for creating precompiled header using CXX handling.
     258TOOL_VCC143AMD64-PCH_EXTENDS                 := VCC143AMD64
     259TOOL_VCC143AMD64-PCH_CXXOBJSUFF              := .obj
     260TOOL_VCC143AMD64-PCH_CXXINCS                  = $(TOOL_VCC143AMD64_CXXINCS)
     261TOOL_VCC143AMD64-PCH_CXXFLAGS                 = $(TOOL_VCC143AMD64_CXXFLAGS) -FS
     262TOOL_VCC143AMD64-PCH_CXXFLAGS.debug           = $(TOOL_VCC143AMD64_CXXFLAGS.debug)
     263TOOL_VCC143AMD64-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC143AMD64_CXXFLAGS.dbgopt)
     264TOOL_VCC143AMD64-PCH_CXXFLAGS.release         = $(TOOL_VCC143AMD64_CXXFLAGS.release)
     265TOOL_VCC143AMD64-PCH_CXXFLAGS.profile         = $(TOOL_VCC143AMD64_CXXFLAGS.profile)
     266TOOL_VCC143AMD64-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
     267TOOL_VCC143AMD64-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
     268TOOL_VCC143AMD64-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
     269TOOL_VCC143AMD64-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
     270ifdef TOOL_VCC143AMD64_KSUBMIT
     271 define TOOL_VCC143AMD64-PCH_COMPILE_CXX_CMDS
    272272        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    273         $(QUIET)$(TOOL_VCC142AMD64_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
    274                 -- $(TOOL_VCC142AMD64_CXX) -c -Yc -d1scalableinclude-\
     273        $(QUIET)$(TOOL_VCC143AMD64_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
     274                -- $(TOOL_VCC143AMD64_CXX) -c -Yc -d1scalableinclude-\
    275275                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    276276               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    281281 endef
    282282else
    283  define TOOL_VCC142AMD64-PCH_COMPILE_CXX_CMDS
     283 define TOOL_VCC143AMD64-PCH_COMPILE_CXX_CMDS
    284284        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    285         $(QUIET)$(TOOL_VCC142AMD64_SETUP_ENV)$(TOOL_VCC142AMD64_CXX) -c -Yc\
     285        $(QUIET)$(TOOL_VCC143AMD64_SETUP_ENV)$(TOOL_VCC143AMD64_CXX) -c -Yc\
    286286                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    287287               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    293293
    294294 endef
    295 endif # !TOOL_VCC142AMD64_KSUBMIT
     295endif # !TOOL_VCC143AMD64_KSUBMIT
    296296
    297297
     
    311311# @param    $(outbase)  Output basename (full). Use this for list files and such.
    312312# @param    $(objsuff)  Object suffix.
    313 TOOL_VCC142AMD64_COMPILE_RC_DEPEND =
    314 TOOL_VCC142AMD64_COMPILE_RC_DEPORD =
    315 TOOL_VCC142AMD64_COMPILE_RC_OUTPUT =
    316 define TOOL_VCC142AMD64_COMPILE_RC_CMDS
    317         $(QUIET)$(TOOL_VCC142AMD64_RC) \
     313TOOL_VCC143AMD64_COMPILE_RC_DEPEND =
     314TOOL_VCC143AMD64_COMPILE_RC_DEPORD =
     315TOOL_VCC143AMD64_COMPILE_RC_OUTPUT =
     316define TOOL_VCC143AMD64_COMPILE_RC_CMDS
     317        $(QUIET)$(TOOL_VCC143AMD64_RC) \
    318318                $(flags) $(qaddprefix sh,/i, $(subst /,\\,$(incs))) $(qaddprefix sh,/d, $(defs))\
    319319                /fo$(obj)\
     
    332332# @param    $(outbase)  Output basename (full). Use this for list files and such.
    333333#
    334 TOOL_VCC142AMD64_LINK_LIBRARY_DEPEND = $(othersrc)
    335 TOOL_VCC142AMD64_LINK_LIBRARY_DEPORD =
    336 TOOL_VCC142AMD64_LINK_LIBRARY_OUTPUT = $(outbase).rsp
    337 TOOL_VCC142AMD64_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
    338 define TOOL_VCC142AMD64_LINK_LIBRARY_CMDS
     334TOOL_VCC143AMD64_LINK_LIBRARY_DEPEND = $(othersrc)
     335TOOL_VCC143AMD64_LINK_LIBRARY_DEPORD =
     336TOOL_VCC143AMD64_LINK_LIBRARY_OUTPUT = $(outbase).rsp
     337TOOL_VCC143AMD64_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
     338define TOOL_VCC143AMD64_LINK_LIBRARY_CMDS
    339339        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    340340                $(qforeachfile u,arg, $(objs) $(filter-out %.def,$(othersrc)),$(quote-sh "$(subst /,\,$(arg))")) \
    341341                $(qforeachfile u,arg, $(filter %.def,$(othersrc)),$(quote-sh "/DEF:$(subst /,\,$(arg))"))
    342         $(QUIET)$(TOOL_VCC142AMD64_KSUBMIT_DD) $(TOOL_VCC142AMD64_AR) $(flags) /OUT:$(out) @$(outbase).rsp
     342        $(QUIET)$(TOOL_VCC143AMD64_KSUBMIT_DD) $(TOOL_VCC143AMD64_AR) $(flags) /OUT:$(out) @$(outbase).rsp
    343343endef
    344344
     
    358358# @param    $(outbase)      Output basename (full). Use this for list files and such.
    359359#
    360 TOOL_VCC142AMD64_LINK_PROGRAM_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    361 TOOL_VCC142AMD64_LINK_PROGRAM_DEPORD =
    362 TOOL_VCC142AMD64_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
    363 TOOL_VCC142AMD64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    364 TOOL_VCC142AMD64_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
    365 TOOL_VCC142AMD64_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    366 define TOOL_VCC142AMD64_LINK_PROGRAM_CMDS
     360TOOL_VCC143AMD64_LINK_PROGRAM_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     361TOOL_VCC143AMD64_LINK_PROGRAM_DEPORD =
     362TOOL_VCC143AMD64_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
     363TOOL_VCC143AMD64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     364TOOL_VCC143AMD64_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
     365TOOL_VCC143AMD64_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     366define TOOL_VCC143AMD64_LINK_PROGRAM_CMDS
    367367        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    368368                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    369         $(QUIET)$(TOOL_VCC142AMD64_KSUBMIT_DD) $(TOOL_VCC142AMD64_LD) $(flags) \
     369        $(QUIET)$(TOOL_VCC143AMD64_KSUBMIT_DD) $(TOOL_VCC143AMD64_LD) $(flags) \
    370370                /OUT:$(out) \
    371371                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    375375                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    376376                @$(outbase).rsp
    377 ifndef TOOL_VCC142AMD64_NO_AUTO_MANIFEST
     377ifndef TOOL_VCC143AMD64_NO_AUTO_MANIFEST
    378378        $(QUIET)$(TEST) -f $(out).manifest -- \
    379                 $(TOOL_VCC142AMD64_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
     379                $(TOOL_VCC143AMD64_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
    380380endif
    381381endef
     
    396396#
    397397# @param    $(outbase)  Output basename (full). Use this for list files and such.
    398 TOOL_VCC142AMD64_LINK_DLL_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    399 TOOL_VCC142AMD64_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
    400 TOOL_VCC142AMD64_LINK_DLL_OUTPUT = $(outbase).lib $(outbase).exp
    401 TOOL_VCC142AMD64_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
    402 TOOL_VCC142AMD64_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(outbase).map $(outbase).rsp
    403 TOOL_VCC142AMD64_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
    404 TOOL_VCC142AMD64_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    405 define TOOL_VCC142AMD64_LINK_DLL_CMDS
     398TOOL_VCC143AMD64_LINK_DLL_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     399TOOL_VCC143AMD64_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
     400TOOL_VCC143AMD64_LINK_DLL_OUTPUT = $(outbase).lib $(outbase).exp
     401TOOL_VCC143AMD64_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
     402TOOL_VCC143AMD64_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(outbase).map $(outbase).rsp
     403TOOL_VCC143AMD64_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
     404TOOL_VCC143AMD64_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     405define TOOL_VCC143AMD64_LINK_DLL_CMDS
    406406        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    407407                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    408         $(QUIET)$(TOOL_VCC142AMD64_KSUBMIT_DD) $(TOOL_VCC142AMD64_LD) $(flags) \
     408        $(QUIET)$(TOOL_VCC143AMD64_KSUBMIT_DD) $(TOOL_VCC143AMD64_LD) $(flags) \
    409409                /OUT:$(out) \
    410410                /IMPLIB:$(outbase).lib \
     
    416416                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    417417                @$(outbase).rsp
    418 ifndef TOOL_VCC142AMD64_NO_AUTO_MANIFEST
     418ifndef TOOL_VCC143AMD64_NO_AUTO_MANIFEST
    419419        $(QUIET)$(TEST) -f $(out).manifest -- \
    420                 $(TOOL_VCC142AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     420                $(TOOL_VCC143AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    421421endif
    422422        $(QUIET)$(TEST) -f $(outbase).lib -- $(KLIBTWEAKER_EXT) --clear-timestamps $(outbase).lib
     
    440440#
    441441# @param    $(outbase)  Output basename (full). Use this for list files and such.
    442 TOOL_VCC142AMD64_LINK_SYSMOD_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    443 TOOL_VCC142AMD64_LINK_SYSMOD_DEPORD =
    444 TOOL_VCC142AMD64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    445 TOOL_VCC142AMD64_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
    446 TOOL_VCC142AMD64_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
    447 TOOL_VCC142AMD64_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    448 define TOOL_VCC142AMD64_LINK_SYSMOD_CMDS
     442TOOL_VCC143AMD64_LINK_SYSMOD_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     443TOOL_VCC143AMD64_LINK_SYSMOD_DEPORD =
     444TOOL_VCC143AMD64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     445TOOL_VCC143AMD64_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
     446TOOL_VCC143AMD64_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
     447TOOL_VCC143AMD64_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     448define TOOL_VCC143AMD64_LINK_SYSMOD_CMDS
    449449        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    450450                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    451         $(QUIET)$(TOOL_VCC142AMD64_KSUBMIT_DD) $(TOOL_VCC142AMD64_LD) $(flags) \
     451        $(QUIET)$(TOOL_VCC143AMD64_KSUBMIT_DD) $(TOOL_VCC143AMD64_LD) $(flags) \
    452452                /OUT:$(out) \
    453453                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    457457                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    458458                @$(outbase).rsp
    459 ifndef TOOL_VCC142AMD64_NO_AUTO_MANIFEST
     459ifndef TOOL_VCC143AMD64_NO_AUTO_MANIFEST
    460460        $(QUIET)$(TEST) -f $(out).manifest -- \
    461                 $(TOOL_VCC142AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     461                $(TOOL_VCC143AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    462462endif
    463463endef
  • trunk/kBuild/tools/VCC143X86.kmk

    r3614 r3615  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - Visual C++ 14.2 (aka Visual 2019 and MSC v19.20), targeting x86.
    4 #
    5 
    6 #
    7 # Copyright (c) 2004-2020 knut st. osmundsen <[email protected]>
     3# kBuild Tool Config - Visual C++ 14.3 (aka Visual 2022 and MSC v19.30+), targeting x86.
     4#
     5
     6#
     7# Copyright (c) 2004-2024 knut st. osmundsen <[email protected]>
    88#
    99# This file is part of kBuild.
     
    3232#
    3333
    34 ifndef TOOL_VCC142
    35  include $(KBUILD_PATH)/tools/VCC142.kmk
    36 endif
    37 
    38 TOOL_VCC142X86 := Visual C++ 14.2 (aka Visual 2019 and MSC v19.20), targeting x86
     34ifndef TOOL_VCC143
     35 include $(KBUILD_PATH)/tools/VCC143.kmk
     36endif
     37
     38TOOL_VCC143X86 := Visual C++ 14.3 (aka Visual 2022 and MSC v19.30+), targeting x86
    3939
    4040#
    4141# Tool Specific Properties
    4242#
    43 ifndef PATH_TOOL_VCC142X86
    44  PATH_TOOL_VCC142X86 := $(PATH_TOOL_VCC142)
     43ifndef PATH_TOOL_VCC143X86
     44 PATH_TOOL_VCC143X86 := $(PATH_TOOL_VCC143)
    4545else
    4646 # Resolve any fancy stuff once and for all.
    47  PATH_TOOL_VCC142X86 := $(PATH_TOOL_VCC142X86)
    48 endif
    49 
    50 ifndef PATH_TOOL_VCC142X86_BIN
    51 PATH_TOOL_VCC142X86_BIN     := $(PATH_TOOL_VCC142_HOST_BIN)/x86
     47 PATH_TOOL_VCC143X86 := $(PATH_TOOL_VCC143X86)
     48endif
     49
     50ifndef PATH_TOOL_VCC143X86_BIN
     51PATH_TOOL_VCC143X86_BIN     := $(PATH_TOOL_VCC143_HOST_BIN)/x86
    5252else
    53 PATH_TOOL_VCC142X86_BIN     := $(PATH_TOOL_VCC142X86_BIN)
    54 endif
    55 PATH_TOOL_VCC142X86_BIN_QSH := $(requote sh,$(PATH_TOOL_VCC142X86_BIN))
     53PATH_TOOL_VCC143X86_BIN     := $(PATH_TOOL_VCC143X86_BIN)
     54endif
     55PATH_TOOL_VCC143X86_BIN_QSH := $(requote sh,$(PATH_TOOL_VCC143X86_BIN))
    5656
    5757# A bunch of DLLs are only in the subdir matching the host one, so we need to add it to the PATH when cross compiling.
    58 ifndef PATH_TOOL_VCC142X86_DLL_BIN
    59  ifneq ($(PATH_TOOL_VCC142_HOST_DLL_BIN),$(PATH_TOOL_VCC142X86_BIN))
    60 PATH_TOOL_VCC142X86_DLL_BIN := $(PATH_TOOL_VCC142_HOST_DLL_BIN)
     58ifndef PATH_TOOL_VCC143X86_DLL_BIN
     59 ifneq ($(PATH_TOOL_VCC143_HOST_DLL_BIN),$(PATH_TOOL_VCC143X86_BIN))
     60PATH_TOOL_VCC143X86_DLL_BIN := $(PATH_TOOL_VCC143_HOST_DLL_BIN)
    6161 endif
    6262endif
    6363
    64 ifndef PATH_TOOL_VCC142X86_LIB
    65 PATH_TOOL_VCC142X86_LIB     := $(PATH_TOOL_VCC142_LIB.x86)
    66 endif
    67 ifndef PATH_TOOL_VCC142_ONECORE_LIB
    68 PATH_TOOL_VCC142_ONECORE_LIB  := $(PATH_TOOL_VCC142_ONECORE_LIB.x86)
    69 endif
    70 
    71 ifndef PATH_TOOL_VCC142X86_INC
    72 PATH_TOOL_VCC142X86_INC     := $(PATH_TOOL_VCC142_INC)
    73 endif
    74 
    75 ifndef PATH_TOOL_VCC142X86_ATLMFC_INC
    76 PATH_TOOL_VCC142X86_ATLMFC_INC := $(PATH_TOOL_VCC142_ATLMFC_INC.x86)
    77 endif
    78 ifndef PATH_TOOL_VCC142X86_ATLMFC_LIB
    79 PATH_TOOL_VCC142X86_ATLMFC_LIB := $(PATH_TOOL_VCC142_ATLMFC_LIB.x86)
    80 endif
    81 
    82 TOOL_VCC142X86_CC      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/cl.exe
    83 TOOL_VCC142X86_CXX     ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/cl.exe
    84 TOOL_VCC142X86_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/ml.exe
    85 #TOOL_VCC142X86_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/lib.exe - just an exec wrapper for the below
    86 TOOL_VCC142X86_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/link.exe /LIB
    87 TOOL_VCC142X86_LD      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/link.exe
    88 TOOL_VCC142X86_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/dumpbin.exe
    89 TOOL_VCC142X86_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/editbin.exe
    90 
    91 TOOL_VCC142X86_RC      ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC142_RC_CACHED)
    92 TOOL_VCC142X86_MT      ?= $(TOOL_VCC142X86_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC142_MT_CACHED)
    93 TOOL_VCC142X86_MT_RETRY ?= $(TOOL_VCC142_MT_RETRY)
    94 
    95 ifdef TOOL_VCC142X86_USE_KSUBMIT
     64ifndef PATH_TOOL_VCC143X86_LIB
     65PATH_TOOL_VCC143X86_LIB     := $(PATH_TOOL_VCC143_LIB.x86)
     66endif
     67ifndef PATH_TOOL_VCC143_ONECORE_LIB
     68PATH_TOOL_VCC143_ONECORE_LIB  := $(PATH_TOOL_VCC143_ONECORE_LIB.x86)
     69endif
     70
     71ifndef PATH_TOOL_VCC143X86_INC
     72PATH_TOOL_VCC143X86_INC     := $(PATH_TOOL_VCC143_INC)
     73endif
     74
     75ifndef PATH_TOOL_VCC143X86_ATLMFC_INC
     76PATH_TOOL_VCC143X86_ATLMFC_INC := $(PATH_TOOL_VCC143_ATLMFC_INC.x86)
     77endif
     78ifndef PATH_TOOL_VCC143X86_ATLMFC_LIB
     79PATH_TOOL_VCC143X86_ATLMFC_LIB := $(PATH_TOOL_VCC143_ATLMFC_LIB.x86)
     80endif
     81
     82TOOL_VCC143X86_CC      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143X86_BIN_QSH)/cl.exe
     83TOOL_VCC143X86_CXX     ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143X86_BIN_QSH)/cl.exe
     84TOOL_VCC143X86_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143X86_BIN_QSH)/ml.exe
     85#TOOL_VCC143X86_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143X86_BIN_QSH)/lib.exe - just an exec wrapper for the below
     86TOOL_VCC143X86_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143X86_BIN_QSH)/link.exe /LIB
     87TOOL_VCC143X86_LD      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143X86_BIN_QSH)/link.exe
     88TOOL_VCC143X86_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143X86_BIN_QSH)/dumpbin.exe
     89TOOL_VCC143X86_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC143X86_BIN_QSH)/editbin.exe
     90
     91TOOL_VCC143X86_RC      ?= $(EXEC_X86_WIN32) $(call TOOL_VCC143_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC143_RC_CACHED)
     92TOOL_VCC143X86_MT      ?= $(TOOL_VCC143X86_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC143_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC143_MT_CACHED)
     93TOOL_VCC143X86_MT_RETRY ?= $(TOOL_VCC143_MT_RETRY)
     94
     95ifdef TOOL_VCC143X86_USE_KSUBMIT
    9696 ifeq ($(KBUILD_HOST),win)
    97   ifeq ($(findstring /HostX86/,$(PATH_TOOL_VCC142X86_BIN)),/HostX86/)
    98    TOOL_VCC142X86_KSUBMIT ?= kmk_builtin_kSubmit --32-bit
     97  ifeq ($(findstring /HostX86/,$(PATH_TOOL_VCC143X86_BIN)),/HostX86/)
     98   TOOL_VCC143X86_KSUBMIT ?= kmk_builtin_kSubmit --32-bit
    9999  else
    100    TOOL_VCC142X86_KSUBMIT ?= kmk_builtin_kSubmit --64-bit
     100   TOOL_VCC143X86_KSUBMIT ?= kmk_builtin_kSubmit --64-bit
    101101  endif
    102   ifdef PATH_TOOL_VCC142X86_DLL_BIN
    103    TOOL_VCC142X86_KSUBMIT := $(TOOL_VCC142X86_KSUBMIT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC142X86_DLL_BIN));"
     102  ifdef PATH_TOOL_VCC143X86_DLL_BIN
     103   TOOL_VCC143X86_KSUBMIT := $(TOOL_VCC143X86_KSUBMIT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC143X86_DLL_BIN));"
    104104  endif
    105   TOOL_VCC142X86_KSUBMIT_DD := $(TOOL_VCC142X86_KSUBMIT) --
     105  TOOL_VCC143X86_KSUBMIT_DD := $(TOOL_VCC143X86_KSUBMIT) --
    106106 endif
    107107endif
    108 ifdef PATH_TOOL_VCC142X86_DLL_BIN
    109  TOOL_VCC142X86_SETUP_ENV   := $(REDIRECT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC142X86_DLL_BIN));" --$(SP)
    110  ifndef TOOL_VCC142X86_KSUBMIT_DD
    111   TOOL_VCC142X86_KSUBMIT_DD := $(TOOL_VCC142X86_SETUP_ENV)
     108ifdef PATH_TOOL_VCC143X86_DLL_BIN
     109 TOOL_VCC143X86_SETUP_ENV   := $(REDIRECT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC143X86_DLL_BIN));" --$(SP)
     110 ifndef TOOL_VCC143X86_KSUBMIT_DD
     111  TOOL_VCC143X86_KSUBMIT_DD := $(TOOL_VCC143X86_SETUP_ENV)
    112112 endif
    113113endif
    114114
    115 # Redist (more stuff in VCC142.kmk).
    116 PATH_TOOL_VCC142X86_REDIST           ?= $(PATH_TOOL_VCC142_REDIST)/x86
    117 PATH_TOOL_VCC142X86_REDIST_CRT        = $(PATH_TOOL_VCC142X86_REDIST)/$(TOOL_VCC142_REDIST_CRT_SUBDIR)
    118 PATH_TOOL_VCC142X86_REDIST_DEBUG     ?= $(PATH_TOOL_VCC142_REDIST_DEBUG)/x86
    119 PATH_TOOL_VCC142X86_REDIST_DEBUG_CRT  = $(PATH_TOOL_VCC142X86_REDIST_DEBUG)/$(TOOL_VCC142_REDIST_DEBUG_CRT_SUBDIR)
    120 TOOL_VCC142X64_REDIST_CRT_DLLS        = $(TOOL_VCC142_REDIST_CRT_DLLS.x86)
    121 TOOL_VCC142X64_REDIST_CONCRT_DLLS     = $(TOOL_VCC142_REDIST_CONCRT_DLLS.x86)
    122 TOOL_VCC142X64_REDIST_CPP_DLLS        = $(TOOL_VCC142_REDIST_CPP_DLLS.x86)
    123 TOOL_VCC142X64_REDIST_WINRT_DLLS      = $(TOOL_VCC142_REDIST_WINRT_DLLS.x86)
     115# Redist (more stuff in VCC143.kmk).
     116PATH_TOOL_VCC143X86_REDIST           ?= $(PATH_TOOL_VCC143_REDIST)/x86
     117PATH_TOOL_VCC143X86_REDIST_CRT        = $(PATH_TOOL_VCC143X86_REDIST)/$(TOOL_VCC143_REDIST_CRT_SUBDIR)
     118PATH_TOOL_VCC143X86_REDIST_DEBUG     ?= $(PATH_TOOL_VCC143_REDIST_DEBUG)/x86
     119PATH_TOOL_VCC143X86_REDIST_DEBUG_CRT  = $(PATH_TOOL_VCC143X86_REDIST_DEBUG)/$(TOOL_VCC143_REDIST_DEBUG_CRT_SUBDIR)
     120TOOL_VCC143X86_REDIST_CRT_DLLS        = $(TOOL_VCC143_REDIST_CRT_DLLS.x86)
     121TOOL_VCC143X86_REDIST_CONCRT_DLLS     = $(TOOL_VCC143_REDIST_CONCRT_DLLS.x86)
     122TOOL_VCC143X86_REDIST_CPP_DLLS        = $(TOOL_VCC143_REDIST_CPP_DLLS.x86)
     123TOOL_VCC143X86_REDIST_WINRT_DLLS      = $(TOOL_VCC143_REDIST_WINRT_DLLS.x86)
    124124
    125125
     
    127127# Properties used by kBuild
    128128#
    129 TOOL_VCC142X86_COBJSUFF         ?= .obj
    130 TOOL_VCC142X86_CFLAGS           ?= -TC -nologo -Zi -ZH:SHA_256
    131 TOOL_VCC142X86_CFLAGS.debug     ?=
    132 TOOL_VCC142X86_CFLAGS.dbgopt    ?= -O2
    133 TOOL_VCC142X86_CFLAGS.release   ?= -O2
    134 TOOL_VCC142X86_CFLAGS.profile   ?= -O2
    135 TOOL_VCC142X86_CINCS            ?= $(PATH_TOOL_VCC142X86_INC)
    136 TOOL_VCC142X86_CDEFS            ?=
    137 
    138 TOOL_VCC142X86_CXXOBJSUFF       ?= .obj
    139 TOOL_VCC142X86_CXXFLAGS         ?= -TP -nologo -Zi -ZH:SHA_256
    140 TOOL_VCC142X86_CXXFLAGS.debug   ?=
    141 TOOL_VCC142X86_CXXFLAGS.dbgopt  ?= -O2
    142 TOOL_VCC142X86_CXXFLAGS.release ?= -O2
    143 TOOL_VCC142X86_CXXFLAGS.profile ?= -O2
    144 TOOL_VCC142X86_CXXINCS          ?= $(PATH_TOOL_VCC142X86_INC) $(PATH_TOOL_VCC142X86_ATLMFC_INC)
    145 TOOL_VCC142X86_CXXDEFS          ?=
    146 
    147 TOOL_VCC142X86_ASOBJSUFF        ?= .obj
    148 
    149 TOOL_VCC142X86_RCOBJSUFF        ?= .res
    150 TOOL_VCC142X86_RCINCS           ?= $(PATH_TOOL_VCC142X86_INC) $(PATH_TOOL_VCC142X86_ATLMFC_INC)
    151 
    152 TOOL_VCC142X86_ARFLAGS          ?= -nologo -machine:x86
    153 TOOL_VCC142X86_ARLIBSUFF        ?= .lib
    154 
    155 TOOL_VCC142X86_LDFLAGS          ?= -nologo -machine:x86
    156 TOOL_VCC142X86_LDFLAGS.debug    ?= -debug
    157 TOOL_VCC142X86_LDFLAGS.dbgopt   ?= -debug
    158 TOOL_VCC142X86_LDFLAGS.profile  ?= -debug
    159 TOOL_VCC142X86_LDFLAGS.release  ?=
     129TOOL_VCC143X86_COBJSUFF         ?= .obj
     130TOOL_VCC143X86_CFLAGS           ?= -TC -nologo -Zi -ZH:SHA_256
     131TOOL_VCC143X86_CFLAGS.debug     ?=
     132TOOL_VCC143X86_CFLAGS.dbgopt    ?= -O2
     133TOOL_VCC143X86_CFLAGS.release   ?= -O2
     134TOOL_VCC143X86_CFLAGS.profile   ?= -O2
     135TOOL_VCC143X86_CINCS            ?= $(PATH_TOOL_VCC143X86_INC)
     136TOOL_VCC143X86_CDEFS            ?=
     137
     138TOOL_VCC143X86_CXXOBJSUFF       ?= .obj
     139TOOL_VCC143X86_CXXFLAGS         ?= -TP -nologo -Zi -ZH:SHA_256
     140TOOL_VCC143X86_CXXFLAGS.debug   ?=
     141TOOL_VCC143X86_CXXFLAGS.dbgopt  ?= -O2
     142TOOL_VCC143X86_CXXFLAGS.release ?= -O2
     143TOOL_VCC143X86_CXXFLAGS.profile ?= -O2
     144TOOL_VCC143X86_CXXINCS          ?= $(PATH_TOOL_VCC143X86_INC) $(PATH_TOOL_VCC143X86_ATLMFC_INC)
     145TOOL_VCC143X86_CXXDEFS          ?=
     146
     147TOOL_VCC143X86_ASOBJSUFF        ?= .obj
     148
     149TOOL_VCC143X86_RCOBJSUFF        ?= .res
     150TOOL_VCC143X86_RCINCS           ?= $(PATH_TOOL_VCC143X86_INC) $(PATH_TOOL_VCC143X86_ATLMFC_INC)
     151
     152TOOL_VCC143X86_ARFLAGS          ?= -nologo -machine:x86
     153TOOL_VCC143X86_ARLIBSUFF        ?= .lib
     154
     155TOOL_VCC143X86_LDFLAGS          ?= -nologo -machine:x86
     156TOOL_VCC143X86_LDFLAGS.debug    ?= -debug
     157TOOL_VCC143X86_LDFLAGS.dbgopt   ?= -debug
     158TOOL_VCC143X86_LDFLAGS.profile  ?= -debug
     159TOOL_VCC143X86_LDFLAGS.release  ?=
    160160
    161161
     
    176176# @note The -d1scalableinclude- option disables include directory caching as the cache goes
    177177#       stale in kWorker.  Besides, kWorker does it's own caching, so it is not necessary.
    178 TOOL_VCC142X86_COMPILE_C_DEPEND =
    179 TOOL_VCC142X86_COMPILE_C_DEPORD =
    180 TOOL_VCC142X86_COMPILE_C_OUTPUT =
    181 TOOL_VCC142X86_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC142_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC142_PDB, $(outbase)-obj,idb)
    182 ifdef TOOL_VCC142X86_KSUBMIT
    183  TOOL_VCC142X86_COMPILE_C_DONT_PURGE_OUTPUT := 1 # speed
    184  define TOOL_VCC142X86_COMPILE_C_CMDS
    185         $(QUIET)$(TOOL_VCC142X86_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    186                 -- $(TOOL_VCC142X86_CC) -c -d1scalableinclude-\
     178TOOL_VCC143X86_COMPILE_C_DEPEND =
     179TOOL_VCC143X86_COMPILE_C_DEPORD =
     180TOOL_VCC143X86_COMPILE_C_OUTPUT =
     181TOOL_VCC143X86_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC143_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC143_PDB, $(outbase)-obj,idb)
     182ifdef TOOL_VCC143X86_KSUBMIT
     183 TOOL_VCC143X86_COMPILE_C_DONT_PURGE_OUTPUT := 1 # speed
     184 define TOOL_VCC143X86_COMPILE_C_CMDS
     185        $(QUIET)$(TOOL_VCC143X86_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     186                -- $(TOOL_VCC143X86_CC) -c -d1scalableinclude-\
    187187                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    188188                -Fd$(outbase)-obj.pdb \
     
    191191 endef
    192192else
    193  define TOOL_VCC142X86_COMPILE_C_CMDS
    194         $(QUIET)$(TOOL_VCC142X86_SETUP_ENV)$(TOOL_VCC142X86_CC) -c\
     193 define TOOL_VCC143X86_COMPILE_C_CMDS
     194        $(QUIET)$(TOOL_VCC143X86_SETUP_ENV)$(TOOL_VCC143X86_CC) -c\
    195195                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    196196                -Fd$(outbase)-obj.pdb \
     
    199199        $(QUIET)$(DEP_OBJ) -f -s -q -o $(dep) -t $(obj) $(obj)
    200200 endef
    201 endif # !TOOL_VCC142X86_KSUBMIT
     201endif # !TOOL_VCC143X86_KSUBMIT
    202202
    203203
     
    218218#       stale in kWorker.  Besides, kWorker does it's own caching, so it is not necessary.
    219219#       ('-d1' means it's passed to c1.dll/c1xx.dll and 'scalableinclude-' is the actual option.)
    220 TOOL_VCC142X86_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
    221 TOOL_VCC142X86_COMPILE_CXX_DEPORD =
    222 TOOL_VCC142X86_COMPILE_CXX_OUTPUT =
    223 TOOL_VCC142X86_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
    224         ,,$(call TOOL_VCC142_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC142_PDB, $(outbase)-obj,idb))
    225 ifdef TOOL_VCC142X86_KSUBMIT
    226  TOOL_VCC142X86_COMPILE_CXX_DONT_PURGE_OUTPUT := 1 # speed
    227  define TOOL_VCC142X86_COMPILE_CXX_CMDS
    228         $(QUIET)$(TOOL_VCC142X86_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    229                 -- $(TOOL_VCC142X86_CXX) -c -d1scalableinclude-\
     220TOOL_VCC143X86_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
     221TOOL_VCC143X86_COMPILE_CXX_DEPORD =
     222TOOL_VCC143X86_COMPILE_CXX_OUTPUT =
     223TOOL_VCC143X86_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
     224        ,,$(call TOOL_VCC143_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC143_PDB, $(outbase)-obj,idb))
     225ifdef TOOL_VCC143X86_KSUBMIT
     226 TOOL_VCC143X86_COMPILE_CXX_DONT_PURGE_OUTPUT := 1 # speed
     227 define TOOL_VCC143X86_COMPILE_CXX_CMDS
     228        $(QUIET)$(TOOL_VCC143X86_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     229                -- $(TOOL_VCC143X86_CXX) -c -d1scalableinclude-\
    230230                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    231231                $(if-expr defined($(target)_PCH_HDR)\
     
    236236 endef
    237237else
    238  define TOOL_VCC142X86_COMPILE_CXX_CMDS
    239         $(QUIET)$(TOOL_VCC142X86_SETUP_ENV)$(TOOL_VCC142X86_CXX) -c\
     238 define TOOL_VCC143X86_COMPILE_CXX_CMDS
     239        $(QUIET)$(TOOL_VCC143X86_SETUP_ENV)$(TOOL_VCC143X86_CXX) -c\
    240240                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    241241                $(if-expr defined($(target)_PCH_HDR)\
     
    246246        $(QUIET)$(DEP_OBJ) -f -s -q -o $(dep) -t $(obj) $(obj)
    247247 endef
    248 endif # !TOOL_VCC142X86_KSUBMIT
     248endif # !TOOL_VCC143X86_KSUBMIT
    249249
    250250
     
    255255# related _1_VCC_PCH_FILE and add -Yc.
    256256#
    257 TOOL_VCC142X86-PCH                         := Helper for creating precompiled header using CXX handling.
    258 TOOL_VCC142X86-PCH_EXTENDS                 := VCC142X86
    259 TOOL_VCC142X86-PCH_CXXOBJSUFF              := .obj
    260 TOOL_VCC142X86-PCH_CXXINCS                  = $(TOOL_VCC142X86_CXXINCS)
    261 TOOL_VCC142X86-PCH_CXXFLAGS                 = $(TOOL_VCC142X86_CXXFLAGS) -FS
    262 TOOL_VCC142X86-PCH_CXXFLAGS.debug           = $(TOOL_VCC142X86_CXXFLAGS.debug)
    263 TOOL_VCC142X86-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC142X86_CXXFLAGS.dbgopt)
    264 TOOL_VCC142X86-PCH_CXXFLAGS.release         = $(TOOL_VCC142X86_CXXFLAGS.release)
    265 TOOL_VCC142X86-PCH_CXXFLAGS.profile         = $(TOOL_VCC142X86_CXXFLAGS.profile)
    266 TOOL_VCC142X86-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
    267 TOOL_VCC142X86-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
    268 TOOL_VCC142X86-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    269 TOOL_VCC142X86-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
    270 ifdef TOOL_VCC142X86_KSUBMIT
    271  define TOOL_VCC142X86-PCH_COMPILE_CXX_CMDS
     257TOOL_VCC143X86-PCH                         := Helper for creating precompiled header using CXX handling.
     258TOOL_VCC143X86-PCH_EXTENDS                 := VCC143X86
     259TOOL_VCC143X86-PCH_CXXOBJSUFF              := .obj
     260TOOL_VCC143X86-PCH_CXXINCS                  = $(TOOL_VCC143X86_CXXINCS)
     261TOOL_VCC143X86-PCH_CXXFLAGS                 = $(TOOL_VCC143X86_CXXFLAGS) -FS
     262TOOL_VCC143X86-PCH_CXXFLAGS.debug           = $(TOOL_VCC143X86_CXXFLAGS.debug)
     263TOOL_VCC143X86-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC143X86_CXXFLAGS.dbgopt)
     264TOOL_VCC143X86-PCH_CXXFLAGS.release         = $(TOOL_VCC143X86_CXXFLAGS.release)
     265TOOL_VCC143X86-PCH_CXXFLAGS.profile         = $(TOOL_VCC143X86_CXXFLAGS.profile)
     266TOOL_VCC143X86-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
     267TOOL_VCC143X86-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
     268TOOL_VCC143X86-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
     269TOOL_VCC143X86-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
     270ifdef TOOL_VCC143X86_KSUBMIT
     271 define TOOL_VCC143X86-PCH_COMPILE_CXX_CMDS
    272272        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    273         $(QUIET)$(TOOL_VCC142X86_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
    274                 -- $(TOOL_VCC142X86_CXX) -c -Yc -d1scalableinclude-\
     273        $(QUIET)$(TOOL_VCC143X86_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
     274                -- $(TOOL_VCC143X86_CXX) -c -Yc -d1scalableinclude-\
    275275                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    276276               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    281281 endef
    282282else
    283  define TOOL_VCC142X86-PCH_COMPILE_CXX_CMDS
     283 define TOOL_VCC143X86-PCH_COMPILE_CXX_CMDS
    284284        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    285         $(QUIET)$(TOOL_VCC142X86_SETUP_ENV)$(TOOL_VCC142X86_CXX) -c -Yc\
     285        $(QUIET)$(TOOL_VCC143X86_SETUP_ENV)$(TOOL_VCC143X86_CXX) -c -Yc\
    286286                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    287287               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    293293
    294294 endef
    295 endif # !TOOL_VCC142X86_KSUBMIT
     295endif # !TOOL_VCC143X86_KSUBMIT
    296296
    297297
     
    311311# @param    $(outbase)  Output basename (full). Use this for list files and such.
    312312# @param    $(objsuff)  Object suffix.
    313 TOOL_VCC142X86_COMPILE_RC_DEPEND =
    314 TOOL_VCC142X86_COMPILE_RC_DEPORD =
    315 TOOL_VCC142X86_COMPILE_RC_OUTPUT =
    316 define TOOL_VCC142X86_COMPILE_RC_CMDS
    317         $(QUIET)$(TOOL_VCC142X86_RC) \
     313TOOL_VCC143X86_COMPILE_RC_DEPEND =
     314TOOL_VCC143X86_COMPILE_RC_DEPORD =
     315TOOL_VCC143X86_COMPILE_RC_OUTPUT =
     316define TOOL_VCC143X86_COMPILE_RC_CMDS
     317        $(QUIET)$(TOOL_VCC143X86_RC) \
    318318                $(flags) $(qaddprefix sh,/i, $(subst /,\\,$(incs))) $(qaddprefix sh,/d, $(defs))\
    319319                /fo$(obj)\
     
    332332# @param    $(outbase)  Output basename (full). Use this for list files and such.
    333333#
    334 TOOL_VCC142X86_LINK_LIBRARY_DEPEND = $(othersrc)
    335 TOOL_VCC142X86_LINK_LIBRARY_DEPORD =
    336 TOOL_VCC142X86_LINK_LIBRARY_OUTPUT = $(outbase).rsp
    337 TOOL_VCC142X86_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
    338 define TOOL_VCC142X86_LINK_LIBRARY_CMDS
     334TOOL_VCC143X86_LINK_LIBRARY_DEPEND = $(othersrc)
     335TOOL_VCC143X86_LINK_LIBRARY_DEPORD =
     336TOOL_VCC143X86_LINK_LIBRARY_OUTPUT = $(outbase).rsp
     337TOOL_VCC143X86_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
     338define TOOL_VCC143X86_LINK_LIBRARY_CMDS
    339339        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    340340                $(qforeachfile u,arg, $(objs) $(filter-out %.def,$(othersrc)),$(quote-sh "$(subst /,\,$(arg))")) \
    341341                $(qforeachfile u,arg, $(filter %.def,$(othersrc)),$(quote-sh "/DEF:$(subst /,\,$(arg))"))
    342         $(QUIET)$(TOOL_VCC142X86_KSUBMIT_DD) $(TOOL_VCC142X86_AR) $(flags) /OUT:$(out) @$(outbase).rsp
     342        $(QUIET)$(TOOL_VCC143X86_KSUBMIT_DD) $(TOOL_VCC143X86_AR) $(flags) /OUT:$(out) @$(outbase).rsp
    343343endef
    344344
     
    358358# @param    $(outbase)      Output basename (full). Use this for list files and such.
    359359#
    360 TOOL_VCC142X86_LINK_PROGRAM_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    361 TOOL_VCC142X86_LINK_PROGRAM_DEPORD =
    362 TOOL_VCC142X86_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
    363 TOOL_VCC142X86_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    364 TOOL_VCC142X86_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
    365 TOOL_VCC142X86_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    366 define TOOL_VCC142X86_LINK_PROGRAM_CMDS
     360TOOL_VCC143X86_LINK_PROGRAM_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     361TOOL_VCC143X86_LINK_PROGRAM_DEPORD =
     362TOOL_VCC143X86_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
     363TOOL_VCC143X86_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     364TOOL_VCC143X86_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
     365TOOL_VCC143X86_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     366define TOOL_VCC143X86_LINK_PROGRAM_CMDS
    367367        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    368368                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    369         $(QUIET)$(TOOL_VCC142X86_KSUBMIT_DD) $(TOOL_VCC142X86_LD) $(flags) \
     369        $(QUIET)$(TOOL_VCC143X86_KSUBMIT_DD) $(TOOL_VCC143X86_LD) $(flags) \
    370370                /OUT:$(out) \
    371371                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    375375                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    376376                @$(outbase).rsp
    377 ifndef TOOL_VCC142X86_NO_AUTO_MANIFEST
     377ifndef TOOL_VCC143X86_NO_AUTO_MANIFEST
    378378        $(QUIET)$(TEST) -f $(out).manifest -- \
    379                 $(TOOL_VCC142X86_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
     379                $(TOOL_VCC143X86_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
    380380endif
    381381endef
     
    396396#
    397397# @param    $(outbase)  Output basename (full). Use this for list files and such.
    398 TOOL_VCC142X86_LINK_DLL_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    399 TOOL_VCC142X86_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
    400 TOOL_VCC142X86_LINK_DLL_OUTPUT = $(outbase).lib $(outbase).exp
    401 TOOL_VCC142X86_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
    402 TOOL_VCC142X86_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(outbase).map $(outbase).rsp
    403 TOOL_VCC142X86_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
    404 TOOL_VCC142X86_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    405 define TOOL_VCC142X86_LINK_DLL_CMDS
     398TOOL_VCC143X86_LINK_DLL_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     399TOOL_VCC143X86_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
     400TOOL_VCC143X86_LINK_DLL_OUTPUT = $(outbase).lib $(outbase).exp
     401TOOL_VCC143X86_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
     402TOOL_VCC143X86_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(outbase).map $(outbase).rsp
     403TOOL_VCC143X86_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
     404TOOL_VCC143X86_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     405define TOOL_VCC143X86_LINK_DLL_CMDS
    406406        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    407407                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    408         $(QUIET)$(TOOL_VCC142X86_KSUBMIT_DD) $(TOOL_VCC142X86_LD) $(flags) \
     408        $(QUIET)$(TOOL_VCC143X86_KSUBMIT_DD) $(TOOL_VCC143X86_LD) $(flags) \
    409409                /OUT:$(out) \
    410410                /IMPLIB:$(outbase).lib \
     
    416416                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    417417                @$(outbase).rsp
    418 ifndef TOOL_VCC142X86_NO_AUTO_MANIFEST
     418ifndef TOOL_VCC143X86_NO_AUTO_MANIFEST
    419419        $(QUIET)$(TEST) -f $(out).manifest -- \
    420                 $(TOOL_VCC142X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     420                $(TOOL_VCC143X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    421421endif
    422422        $(QUIET)$(TEST) -f $(outbase).lib -- $(KLIBTWEAKER_EXT) --clear-timestamps $(outbase).lib
     
    440440#
    441441# @param    $(outbase)  Output basename (full). Use this for list files and such.
    442 TOOL_VCC142X86_LINK_SYSMOD_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    443 TOOL_VCC142X86_LINK_SYSMOD_DEPORD =
    444 TOOL_VCC142X86_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    445 TOOL_VCC142X86_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
    446 TOOL_VCC142X86_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
    447 TOOL_VCC142X86_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    448 define TOOL_VCC142X86_LINK_SYSMOD_CMDS
     442TOOL_VCC143X86_LINK_SYSMOD_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     443TOOL_VCC143X86_LINK_SYSMOD_DEPORD =
     444TOOL_VCC143X86_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     445TOOL_VCC143X86_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
     446TOOL_VCC143X86_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
     447TOOL_VCC143X86_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     448define TOOL_VCC143X86_LINK_SYSMOD_CMDS
    449449        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    450450                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    451         $(QUIET)$(TOOL_VCC142X86_KSUBMIT_DD) $(TOOL_VCC142X86_LD) $(flags) \
     451        $(QUIET)$(TOOL_VCC143X86_KSUBMIT_DD) $(TOOL_VCC143X86_LD) $(flags) \
    452452                /OUT:$(out) \
    453453                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    457457                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    458458                @$(outbase).rsp
    459 ifndef TOOL_VCC142X86_NO_AUTO_MANIFEST
     459ifndef TOOL_VCC143X86_NO_AUTO_MANIFEST
    460460        $(QUIET)$(TEST) -f $(out).manifest -- \
    461                 $(TOOL_VCC142X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     461                $(TOOL_VCC143X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    462462endif
    463463endef
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette