Ignore:
Timestamp:
May 20, 2020, 4:34:15 PM (5 years ago)
Author:
bird
Message:

VCC140*: Adding support for VC++ 14.0 (2015) too.

File:
1 copied

Legend:

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

    r3340 r3343  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - Visual C++ 14.1 (aka Visual 2017 and MSC v19.10), targeting AMD64.
     3# kBuild Tool Config - Visual C++ 14.0 (aka Visual 2015 and MSC v19.0x), targeting AMD64.
    44#
    55
     
    3232#
    3333
    34 ifndef TOOL_VCC141
    35  include $(KBUILD_PATH)/tools/VCC141.kmk
    36 endif
    37 
    38 TOOL_VCC141AMD64 := Visual C++ 14.1 (aka Visual 2017 and MSC v19.1), targeting AMD64
     34ifndef TOOL_VCC140
     35 include $(KBUILD_PATH)/tools/VCC140.kmk
     36endif
     37
     38TOOL_VCC140AMD64 := Visual C++ 14.0 (aka Visual 2015 and MSC v19.0x), targeting AMD64
    3939
    4040#
    4141# Tool Specific Properties
    4242#
    43 ifndef PATH_TOOL_VCC141AMD64
    44  PATH_TOOL_VCC141AMD64 := $(PATH_TOOL_VCC141)
     43ifndef PATH_TOOL_VCC140AMD64_BIN
     44 ifeq ($(KBUILD_HOST_ARCH),amd64)
     45PATH_TOOL_VCC140AMD64_BIN     := $(PATH_TOOL_VCC140_BASE_BIN)/amd64
     46 else
     47PATH_TOOL_VCC140AMD64_BIN     := $(PATH_TOOL_VCC140_BASE_BIN)/x86_amd64
     48 endif
    4549else
    46  # Resolve any fancy stuff once and for all.
    47  PATH_TOOL_VCC141AMD64 := $(PATH_TOOL_VCC141AMD64)
    48 endif
    49 
    50 ifndef PATH_TOOL_VCC141AMD64_BIN
    51 PATH_TOOL_VCC141AMD64_BIN     := $(PATH_TOOL_VCC141_HOST_BIN)/x64
    52 else
    53 PATH_TOOL_VCC141AMD64_BIN     := $(PATH_TOOL_VCC141_BIN)
    54 endif
    55 PATH_TOOL_VCC141AMD64_BIN_QSH := $(requote sh,$(PATH_TOOL_VCC141AMD64_BIN))
     50PATH_TOOL_VCC140AMD64_BIN     := $(PATH_TOOL_VCC140AMD64_BIN)
     51endif
     52PATH_TOOL_VCC140AMD64_BIN_QSH := $(requote sh,$(PATH_TOOL_VCC140AMD64_BIN))
    5653
    5754# 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_VCC141AMD64_DLL_BIN
    59  ifneq ($(PATH_TOOL_VCC141_HOST_DLL_BIN),$(PATH_TOOL_VCC141AMD64_BIN))
    60 PATH_TOOL_VCC141AMD64_DLL_BIN := $(PATH_TOOL_VCC141_HOST_DLL_BIN)
     55ifndef PATH_TOOL_VCC140AMD64_DLL_BIN
     56 ifneq ($(PATH_TOOL_VCC140_HOST_DLL_BIN),$(PATH_TOOL_VCC140AMD64_BIN))
     57PATH_TOOL_VCC140AMD64_DLL_BIN := $(PATH_TOOL_VCC140_HOST_DLL_BIN)
    6158 endif
    6259endif
    6360
    64 ifndef PATH_TOOL_VCC141AMD64_LIB
    65 PATH_TOOL_VCC141AMD64_LIB     := $(PATH_TOOL_VCC141_LIB.amd64)
    66 endif
    67 ifndef PATH_TOOL_VCC141_ONECORE_LIB
    68 PATH_TOOL_VCC141_ONECORE_LIB  := $(PATH_TOOL_VCC141_ONECORE_LIB.amd64)
    69 endif
    70 
    71 ifndef PATH_TOOL_VCC141AMD64_INC
    72 PATH_TOOL_VCC141AMD64_INC     := $(PATH_TOOL_VCC141_INC)
    73 endif
    74 
    75 ifndef PATH_TOOL_VCC141AMD64_ATLMFC_INC
    76 PATH_TOOL_VCC141AMD64_ATLMFC_INC := $(PATH_TOOL_VCC141_ATLMFC_INC.amd64)
    77 endif
    78 ifndef PATH_TOOL_VCC141AMD64_ATLMFC_LIB
    79 PATH_TOOL_VCC141AMD64_ATLMFC_LIB := $(PATH_TOOL_VCC141_ATLMFC_LIB.amd64)
    80 endif
    81 
    82 TOOL_VCC141AMD64_CC      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/cl.exe
    83 TOOL_VCC141AMD64_CXX     ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/cl.exe
    84 TOOL_VCC141AMD64_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/ml64.exe
    85 #TOOL_VCC141AMD64_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/lib.exe - just an exec wrapper for the below
    86 TOOL_VCC141AMD64_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/link.exe /LIB
    87 TOOL_VCC141AMD64_LD      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/link.exe
    88 TOOL_VCC141AMD64_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/dumpbin.exe
    89 TOOL_VCC141AMD64_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/editbin.exe
    90 
    91 TOOL_VCC141AMD64_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC141_RC_CACHED)
    92 TOOL_VCC141AMD64_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC141_MT_CACHED)
    93 
    94 undefine TOOL_VCC141AMD64_USE_KSUBMIT # for now
    95 ifdef TOOL_VCC141AMD64_USE_KSUBMIT
     61ifndef PATH_TOOL_VCC140AMD64_LIB
     62PATH_TOOL_VCC140AMD64_LIB     := $(PATH_TOOL_VCC140_LIB.amd64)
     63endif
     64ifndef PATH_TOOL_VCC140_ONECORE_LIB
     65PATH_TOOL_VCC140_ONECORE_LIB  := $(PATH_TOOL_VCC140_ONECORE_LIB.amd64)
     66endif
     67
     68ifndef PATH_TOOL_VCC140AMD64_INC
     69PATH_TOOL_VCC140AMD64_INC     := $(PATH_TOOL_VCC140_INC)
     70endif
     71
     72ifndef PATH_TOOL_VCC140AMD64_ATLMFC_INC
     73PATH_TOOL_VCC140AMD64_ATLMFC_INC := $(PATH_TOOL_VCC140_ATLMFC_INC.amd64)
     74endif
     75ifndef PATH_TOOL_VCC140AMD64_ATLMFC_LIB
     76PATH_TOOL_VCC140AMD64_ATLMFC_LIB := $(PATH_TOOL_VCC140_ATLMFC_LIB.amd64)
     77endif
     78
     79TOOL_VCC140AMD64_CC      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/cl.exe
     80TOOL_VCC140AMD64_CXX     ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/cl.exe
     81TOOL_VCC140AMD64_AS      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/ml64.exe
     82#TOOL_VCC140AMD64_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/lib.exe - just an exec wrapper for the below
     83TOOL_VCC140AMD64_AR      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/link.exe /LIB
     84TOOL_VCC140AMD64_LD      ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/link.exe
     85TOOL_VCC140AMD64_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/dumpbin.exe
     86TOOL_VCC140AMD64_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/editbin.exe
     87
     88TOOL_VCC140AMD64_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC140_RC_CACHED)
     89TOOL_VCC140AMD64_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC140_MT_CACHED)
     90
     91undefine TOOL_VCC140AMD64_USE_KSUBMIT # for now
     92ifdef TOOL_VCC140AMD64_USE_KSUBMIT
    9693 ifeq ($(KBUILD_HOST),win)
    97   ifneq ($(substr $(qdir un,$(PATH_TOOL_VCC141AMD64_BIN)),-3),64/)
    98    TOOL_VCC141AMD64_KSUBMIT ?= kmk_builtin_kSubmit --64-bit
     94  ifneq ($(substr $(qdir un,$(PATH_TOOL_VCC140AMD64_BIN)),-3),64/)
     95   TOOL_VCC140AMD64_KSUBMIT ?= kmk_builtin_kSubmit --64-bit
    9996  else
    100    TOOL_VCC141AMD64_KSUBMIT ?= kmk_builtin_kSubmit --32-bit
     97   TOOL_VCC140AMD64_KSUBMIT ?= kmk_builtin_kSubmit --32-bit
    10198  endif
    102   ifdef PATH_TOOL_VCC141AMD64_DLL_BIN
    103    TOOL_VCC141AMD64_KSUBMIT := $(TOOL_VCC141AMD64_KSUBMIT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC141AMD64_DLL_BIN));"
     99  ifdef PATH_TOOL_VCC140AMD64_DLL_BIN
     100   TOOL_VCC140AMD64_KSUBMIT := $(TOOL_VCC140AMD64_KSUBMIT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC140AMD64_DLL_BIN));"
    104101  endif
    105   TOOL_VCC141AMD64_KSUBMIT_DD := $(TOOL_VCC141AMD64_KSUBMIT) --
     102  TOOL_VCC140AMD64_KSUBMIT_DD := $(TOOL_VCC140AMD64_KSUBMIT) --
    106103 endif
    107104endif
    108 ifdef PATH_TOOL_VCC141AMD64_DLL_BIN
    109  TOOL_VCC141AMD64_SETUP_ENV   := $(REDIRECT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC141AMD64_DLL_BIN));" --$(SP)
    110  ifndef TOOL_VCC141AMD64_KSUBMIT_DD
    111   TOOL_VCC141AMD64_KSUBMIT_DD := $(TOOL_VCC141AMD64_SETUP_ENV)
     105ifdef PATH_TOOL_VCC140AMD64_DLL_BIN
     106 TOOL_VCC140AMD64_SETUP_ENV   := $(REDIRECT) --prepend "PATH=$(requote shell-in-dq,$(PATH_TOOL_VCC140AMD64_DLL_BIN));" --$(SP)
     107 ifndef TOOL_VCC140AMD64_KSUBMIT_DD
     108  TOOL_VCC140AMD64_KSUBMIT_DD := $(TOOL_VCC140AMD64_SETUP_ENV)
    112109 endif
    113110endif
    114111
    115 # Redist (more stuff in VCC141.kmk).
    116 PATH_TOOL_VCC141AMD64_REDIST           ?= $(PATH_TOOL_VCC141_REDIST)/x64
    117 PATH_TOOL_VCC141AMD64_REDIST_CRT        = $(PATH_TOOL_VCC141AMD64_REDIST)/$(TOOL_VCC141_REDIST_CRT_SUBDIR)
    118 PATH_TOOL_VCC141AMD64_REDIST_DEBUG     ?= $(PATH_TOOL_VCC141_REDIST_DEBUG)/x64
    119 PATH_TOOL_VCC141AMD64_REDIST_DEBUG_CRT  = $(PATH_TOOL_VCC141AMD64_REDIST_DEBUG)/$(TOOL_VCC141_REDIST_CRT_SUBDIR)
    120 TOOL_VCC141AMD64_REDIST_CRT_DLLS        = $(TOOL_VCC141_REDIST_CRT_DLLS.amd64)
    121 TOOL_VCC141AMD64_REDIST_CONCRT_DLLS     = $(TOOL_VCC141_REDIST_CONCRT_DLLS.amd64)
    122 TOOL_VCC141AMD64_REDIST_CPP_DLLS        = $(TOOL_VCC141_REDIST_CPP_DLLS.amd64)
    123 TOOL_VCC141AMD64_REDIST_WINRT_DLLS      = $(TOOL_VCC141_REDIST_WINRT_DLLS.amd64)
     112# Redist (more stuff in VCC140.kmk).
     113PATH_TOOL_VCC140AMD64_REDIST           ?= $(PATH_TOOL_VCC140_REDIST)/x64
     114PATH_TOOL_VCC140AMD64_REDIST_CRT        = $(PATH_TOOL_VCC140AMD64_REDIST)/$(TOOL_VCC140_REDIST_CRT_SUBDIR)
     115PATH_TOOL_VCC140AMD64_REDIST_DEBUG     ?= $(PATH_TOOL_VCC140_REDIST_DEBUG)/x64
     116PATH_TOOL_VCC140AMD64_REDIST_DEBUG_CRT  = $(PATH_TOOL_VCC140AMD64_REDIST_DEBUG)/$(TOOL_VCC140_REDIST_CRT_SUBDIR)
     117TOOL_VCC140AMD64_REDIST_CRT_DLLS        = $(TOOL_VCC140_REDIST_CRT_DLLS.amd64)
     118TOOL_VCC140AMD64_REDIST_CONCRT_DLLS     = $(TOOL_VCC140_REDIST_CONCRT_DLLS.amd64)
     119TOOL_VCC140AMD64_REDIST_CPP_DLLS        = $(TOOL_VCC140_REDIST_CPP_DLLS.amd64)
     120TOOL_VCC140AMD64_REDIST_WINRT_DLLS      = $(TOOL_VCC140_REDIST_WINRT_DLLS.amd64)
    124121
    125122
     
    127124# Properties used by kBuild
    128125#
    129 TOOL_VCC141AMD64_COBJSUFF         ?= .obj
    130 TOOL_VCC141AMD64_CFLAGS           ?= -TC -nologo -Zi -ZH:SHA_256
    131 TOOL_VCC141AMD64_CFLAGS.debug     ?=
    132 TOOL_VCC141AMD64_CFLAGS.dbgopt    ?= -O2
    133 TOOL_VCC141AMD64_CFLAGS.release   ?= -O2
    134 TOOL_VCC141AMD64_CFLAGS.profile   ?= -O2
    135 TOOL_VCC141AMD64_CINCS            ?= $(PATH_TOOL_VCC141AMD64_INC)
    136 TOOL_VCC141AMD64_CDEFS            ?=
    137 
    138 TOOL_VCC141AMD64_CXXOBJSUFF       ?= .obj
    139 TOOL_VCC141AMD64_CXXFLAGS         ?= -TP -nologo -Zi -ZH:SHA_256
    140 TOOL_VCC141AMD64_CXXFLAGS.debug   ?=
    141 TOOL_VCC141AMD64_CXXFLAGS.dbgopt  ?= -O2
    142 TOOL_VCC141AMD64_CXXFLAGS.release ?= -O2
    143 TOOL_VCC141AMD64_CXXFLAGS.profile ?= -O2
    144 TOOL_VCC141AMD64_CXXINCS          ?= $(PATH_TOOL_VCC141AMD64_INC) $(PATH_TOOL_VCC141AMD64_ATLMFC_INC)
    145 TOOL_VCC141AMD64_CXXDEFS          ?=
    146 
    147 TOOL_VCC141AMD64_ASOBJSUFF        ?= .obj
    148 
    149 TOOL_VCC141AMD64_RCOBJSUFF        ?= .res
    150 TOOL_VCC141AMD64_RCINCS           ?= $(PATH_TOOL_VCC141AMD64_INC) $(PATH_TOOL_VCC141AMD64_ATLMFC_INC)
    151 
    152 TOOL_VCC141AMD64_ARFLAGS          ?= -nologo -machine:amd64
    153 TOOL_VCC141AMD64_ARLIBSUFF        ?= .lib
    154 
    155 TOOL_VCC141AMD64_LDFLAGS          ?= -nologo -machine:amd64
    156 TOOL_VCC141AMD64_LDFLAGS.debug    ?= -debug
    157 TOOL_VCC141AMD64_LDFLAGS.dbgopt   ?= -debug
    158 TOOL_VCC141AMD64_LDFLAGS.profile  ?= -debug
    159 TOOL_VCC141AMD64_LDFLAGS.release  ?=
     126TOOL_VCC140AMD64_COBJSUFF         ?= .obj
     127TOOL_VCC140AMD64_CFLAGS           ?= -TC -nologo -Zi -ZH:SHA_256
     128TOOL_VCC140AMD64_CFLAGS.debug     ?=
     129TOOL_VCC140AMD64_CFLAGS.dbgopt    ?= -O2
     130TOOL_VCC140AMD64_CFLAGS.release   ?= -O2
     131TOOL_VCC140AMD64_CFLAGS.profile   ?= -O2
     132TOOL_VCC140AMD64_CINCS            ?= $(PATH_TOOL_VCC140AMD64_INC)
     133TOOL_VCC140AMD64_CDEFS            ?=
     134
     135TOOL_VCC140AMD64_CXXOBJSUFF       ?= .obj
     136TOOL_VCC140AMD64_CXXFLAGS         ?= -TP -nologo -Zi -ZH:SHA_256
     137TOOL_VCC140AMD64_CXXFLAGS.debug   ?=
     138TOOL_VCC140AMD64_CXXFLAGS.dbgopt  ?= -O2
     139TOOL_VCC140AMD64_CXXFLAGS.release ?= -O2
     140TOOL_VCC140AMD64_CXXFLAGS.profile ?= -O2
     141TOOL_VCC140AMD64_CXXINCS          ?= $(PATH_TOOL_VCC140AMD64_INC) $(PATH_TOOL_VCC140AMD64_ATLMFC_INC)
     142TOOL_VCC140AMD64_CXXDEFS          ?=
     143
     144TOOL_VCC140AMD64_ASOBJSUFF        ?= .obj
     145
     146TOOL_VCC140AMD64_RCOBJSUFF        ?= .res
     147TOOL_VCC140AMD64_RCINCS           ?= $(PATH_TOOL_VCC140AMD64_INC) $(PATH_TOOL_VCC140AMD64_ATLMFC_INC)
     148
     149TOOL_VCC140AMD64_ARFLAGS          ?= -nologo -machine:amd64
     150TOOL_VCC140AMD64_ARLIBSUFF        ?= .lib
     151
     152TOOL_VCC140AMD64_LDFLAGS          ?= -nologo -machine:amd64
     153TOOL_VCC140AMD64_LDFLAGS.debug    ?= -debug
     154TOOL_VCC140AMD64_LDFLAGS.dbgopt   ?= -debug
     155TOOL_VCC140AMD64_LDFLAGS.profile  ?= -debug
     156TOOL_VCC140AMD64_LDFLAGS.release  ?=
    160157
    161158
     
    174171# @param    $(outbase)  Output basename (full). Use this for list files and such.
    175172# @param    $(objsuff)  Object suffix.
    176 TOOL_VCC141AMD64_COMPILE_C_DEPEND =
    177 TOOL_VCC141AMD64_COMPILE_C_DEPORD =
    178 TOOL_VCC141AMD64_COMPILE_C_OUTPUT =
    179 TOOL_VCC141AMD64_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC141_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC141_PDB, $(outbase)-obj,idb)
    180 ifdef TOOL_VCC141AMD64_KSUBMIT
    181  TOOL_VCC141AMD64_COMPILE_C_DONT_PURGE_OUTPUT := 1 # speed
    182  define TOOL_VCC141AMD64_COMPILE_C_CMDS
    183         $(QUIET)$(TOOL_VCC141AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    184                 -- $(TOOL_VCC141AMD64_CC) -c\
     173TOOL_VCC140AMD64_COMPILE_C_DEPEND =
     174TOOL_VCC140AMD64_COMPILE_C_DEPORD =
     175TOOL_VCC140AMD64_COMPILE_C_OUTPUT =
     176TOOL_VCC140AMD64_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC140_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC140_PDB, $(outbase)-obj,idb)
     177ifdef TOOL_VCC140AMD64_KSUBMIT
     178 TOOL_VCC140AMD64_COMPILE_C_DONT_PURGE_OUTPUT := 1 # speed
     179 define TOOL_VCC140AMD64_COMPILE_C_CMDS
     180        $(QUIET)$(TOOL_VCC140AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     181                -- $(TOOL_VCC140AMD64_CC) -c\
    185182                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    186183                -Fd$(outbase)-obj.pdb \
     
    189186 endef
    190187else
    191  define TOOL_VCC141AMD64_COMPILE_C_CMDS
    192         $(QUIET)$(TOOL_VCC141AMD64_SETUP_ENV)$(TOOL_VCC141AMD64_CC) -c\
     188 define TOOL_VCC140AMD64_COMPILE_C_CMDS
     189        $(QUIET)$(TOOL_VCC140AMD64_SETUP_ENV)$(TOOL_VCC140AMD64_CC) -c\
    193190                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    194191                -Fd$(outbase)-obj.pdb \
     
    197194        $(QUIET)$(DEP_OBJ) -f -s -q -o $(dep) -t $(obj) $(obj)
    198195 endef
    199 endif # !TOOL_VCC141AMD64_KSUBMIT
     196endif # !TOOL_VCC140AMD64_KSUBMIT
    200197
    201198
     
    213210# @param    $(outbase)  Output basename (full). Use this for list files and such.
    214211# @param    $(objsuff)  Object suffix.
    215 TOOL_VCC141AMD64_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
    216 TOOL_VCC141AMD64_COMPILE_CXX_DEPORD =
    217 TOOL_VCC141AMD64_COMPILE_CXX_OUTPUT =
    218 TOOL_VCC141AMD64_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
    219         ,,$(call TOOL_VCC141_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC141_PDB, $(outbase)-obj,idb))
    220 ifdef TOOL_VCC141AMD64_KSUBMIT
    221  TOOL_VCC141AMD64_COMPILE_CXX_DONT_PURGE_OUTPUT := 1 # speed
    222  define TOOL_VCC141AMD64_COMPILE_CXX_CMDS
    223         $(QUIET)$(TOOL_VCC141AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    224                 -- $(TOOL_VCC141AMD64_CXX) -c\
     212TOOL_VCC140AMD64_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
     213TOOL_VCC140AMD64_COMPILE_CXX_DEPORD =
     214TOOL_VCC140AMD64_COMPILE_CXX_OUTPUT =
     215TOOL_VCC140AMD64_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
     216        ,,$(call TOOL_VCC140_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC140_PDB, $(outbase)-obj,idb))
     217ifdef TOOL_VCC140AMD64_KSUBMIT
     218 TOOL_VCC140AMD64_COMPILE_CXX_DONT_PURGE_OUTPUT := 1 # speed
     219 define TOOL_VCC140AMD64_COMPILE_CXX_CMDS
     220        $(QUIET)$(TOOL_VCC140AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     221                -- $(TOOL_VCC140AMD64_CXX) -c\
    225222                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    226223                $(if-expr defined($(target)_PCH_HDR)\
     
    231228 endef
    232229else
    233  define TOOL_VCC141AMD64_COMPILE_CXX_CMDS
    234         $(QUIET)$(TOOL_VCC141AMD64_SETUP_ENV)$(TOOL_VCC141AMD64_CXX) -c\
     230 define TOOL_VCC140AMD64_COMPILE_CXX_CMDS
     231        $(QUIET)$(TOOL_VCC140AMD64_SETUP_ENV)$(TOOL_VCC140AMD64_CXX) -c\
    235232                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
    236233                $(if-expr defined($(target)_PCH_HDR)\
     
    241238        $(QUIET)$(DEP_OBJ) -f -s -q -o $(dep) -t $(obj) $(obj)
    242239 endef
    243 endif # !TOOL_VCC141AMD64_KSUBMIT
     240endif # !TOOL_VCC140AMD64_KSUBMIT
    244241
    245242
     
    250247# related _1_VCC_PCH_FILE and add -Yc.
    251248#
    252 TOOL_VCC141AMD64-PCH                         := Helper for creating precompiled header using CXX handling.
    253 TOOL_VCC141AMD64-PCH_EXTENDS                 := VCC141AMD64
    254 TOOL_VCC141AMD64-PCH_CXXOBJSUFF              := .obj
    255 TOOL_VCC141AMD64-PCH_CXXINCS                  = $(TOOL_VCC141AMD64_CXXINCS)
    256 TOOL_VCC141AMD64-PCH_CXXFLAGS                 = $(TOOL_VCC141AMD64_CXXFLAGS) -FS
    257 TOOL_VCC141AMD64-PCH_CXXFLAGS.debug           = $(TOOL_VCC141AMD64_CXXFLAGS.debug)
    258 TOOL_VCC141AMD64-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC141AMD64_CXXFLAGS.dbgopt)
    259 TOOL_VCC141AMD64-PCH_CXXFLAGS.release         = $(TOOL_VCC141AMD64_CXXFLAGS.release)
    260 TOOL_VCC141AMD64-PCH_CXXFLAGS.profile         = $(TOOL_VCC141AMD64_CXXFLAGS.profile)
    261 TOOL_VCC141AMD64-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
    262 TOOL_VCC141AMD64-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
    263 TOOL_VCC141AMD64-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    264 TOOL_VCC141AMD64-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
    265 ifdef TOOL_VCC141AMD64_KSUBMIT
    266  define TOOL_VCC141AMD64-PCH_COMPILE_CXX_CMDS
     249TOOL_VCC140AMD64-PCH                         := Helper for creating precompiled header using CXX handling.
     250TOOL_VCC140AMD64-PCH_EXTENDS                 := VCC140AMD64
     251TOOL_VCC140AMD64-PCH_CXXOBJSUFF              := .obj
     252TOOL_VCC140AMD64-PCH_CXXINCS                  = $(TOOL_VCC140AMD64_CXXINCS)
     253TOOL_VCC140AMD64-PCH_CXXFLAGS                 = $(TOOL_VCC140AMD64_CXXFLAGS)
     254TOOL_VCC140AMD64-PCH_CXXFLAGS.debug           = $(TOOL_VCC140AMD64_CXXFLAGS.debug)
     255TOOL_VCC140AMD64-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC140AMD64_CXXFLAGS.dbgopt)
     256TOOL_VCC140AMD64-PCH_CXXFLAGS.release         = $(TOOL_VCC140AMD64_CXXFLAGS.release)
     257TOOL_VCC140AMD64-PCH_CXXFLAGS.profile         = $(TOOL_VCC140AMD64_CXXFLAGS.profile)
     258TOOL_VCC140AMD64-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
     259TOOL_VCC140AMD64-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
     260TOOL_VCC140AMD64-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
     261TOOL_VCC140AMD64-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
     262ifdef TOOL_VCC140AMD64_KSUBMIT
     263 define TOOL_VCC140AMD64-PCH_COMPILE_CXX_CMDS
    267264        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    268         $(QUIET)$(TOOL_VCC141AMD64_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
    269                 -- $(TOOL_VCC141AMD64_CXX) -c -Yc\
    270                 $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
     265        $(QUIET)$(TOOL_VCC140AMD64_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
     266                -- $(TOOL_VCC140AMD64_CXX) -c -Yc\
     267                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
     268                $(if-expr defined($(target)_PCH_HDR),-FI$($(target)_PCH_HDR),)\
    271269               -Fp$($(target)_1_VCC_PCH_FILE) \
    272270                -Fd$($(target)_1_VCC_COMMON_OBJ_PDB) \
     
    276274 endef
    277275else
    278  define TOOL_VCC141AMD64-PCH_COMPILE_CXX_CMDS
     276 define TOOL_VCC140AMD64-PCH_COMPILE_CXX_CMDS
    279277        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    280         $(QUIET)$(TOOL_VCC141AMD64_SETUP_ENV)$(TOOL_VCC141AMD64_CXX) -c -Yc\
    281                 $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
     278        $(QUIET)$(TOOL_VCC140AMD64_SETUP_ENV)$(TOOL_VCC140AMD64_CXX) -c -Yc\
     279                $(flags) $(qaddprefix sh,-I, $(incs)) $(qaddprefix sh,-D, $(defs))\
     280                $(if-expr defined($(target)_PCH_HDR),-FI$($(target)_PCH_HDR),)\
    282281               -Fp$($(target)_1_VCC_PCH_FILE) \
    283282                -Fd$($(target)_1_VCC_COMMON_OBJ_PDB) \
     
    288287
    289288 endef
    290 endif # !TOOL_VCC141AMD64_KSUBMIT
     289endif # !TOOL_VCC140AMD64_KSUBMIT
    291290
    292291
     
    306305# @param    $(outbase)  Output basename (full). Use this for list files and such.
    307306# @param    $(objsuff)  Object suffix.
    308 TOOL_VCC141AMD64_COMPILE_RC_DEPEND =
    309 TOOL_VCC141AMD64_COMPILE_RC_DEPORD =
    310 TOOL_VCC141AMD64_COMPILE_RC_OUTPUT =
    311 define TOOL_VCC141AMD64_COMPILE_RC_CMDS
    312         $(QUIET)$(TOOL_VCC141AMD64_RC) \
     307TOOL_VCC140AMD64_COMPILE_RC_DEPEND =
     308TOOL_VCC140AMD64_COMPILE_RC_DEPORD =
     309TOOL_VCC140AMD64_COMPILE_RC_OUTPUT =
     310define TOOL_VCC140AMD64_COMPILE_RC_CMDS
     311        $(QUIET)$(TOOL_VCC140AMD64_RC) \
    313312                $(flags) $(qaddprefix sh,/i, $(subst /,\\,$(incs))) $(qaddprefix sh,/d, $(defs))\
    314313                /fo$(obj)\
     
    327326# @param    $(outbase)  Output basename (full). Use this for list files and such.
    328327#
    329 TOOL_VCC141AMD64_LINK_LIBRARY_DEPEND = $(othersrc)
    330 TOOL_VCC141AMD64_LINK_LIBRARY_DEPORD =
    331 TOOL_VCC141AMD64_LINK_LIBRARY_OUTPUT = $(outbase).rsp
    332 TOOL_VCC141AMD64_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
    333 define TOOL_VCC141AMD64_LINK_LIBRARY_CMDS
     328TOOL_VCC140AMD64_LINK_LIBRARY_DEPEND = $(othersrc)
     329TOOL_VCC140AMD64_LINK_LIBRARY_DEPORD =
     330TOOL_VCC140AMD64_LINK_LIBRARY_OUTPUT = $(outbase).rsp
     331TOOL_VCC140AMD64_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
     332define TOOL_VCC140AMD64_LINK_LIBRARY_CMDS
    334333        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    335334                $(qforeachfile u,arg, $(objs) $(filter-out %.def,$(othersrc)),$(quote-sh "$(subst /,\,$(arg))")) \
    336335                $(qforeachfile u,arg, $(filter %.def,$(othersrc)),$(quote-sh "/DEF:$(subst /,\,$(arg))"))
    337         $(QUIET)$(TOOL_VCC141AMD64_KSUBMIT_DD) $(TOOL_VCC141AMD64_AR) $(flags) /OUT:$(out) @$(outbase).rsp
     336        $(QUIET)$(TOOL_VCC140AMD64_KSUBMIT_DD) $(TOOL_VCC140AMD64_AR) $(flags) /OUT:$(out) @$(outbase).rsp
    338337endef
    339338
     
    353352# @param    $(outbase)      Output basename (full). Use this for list files and such.
    354353#
    355 TOOL_VCC141AMD64_LINK_PROGRAM_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    356 TOOL_VCC141AMD64_LINK_PROGRAM_DEPORD =
    357 TOOL_VCC141AMD64_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
    358 TOOL_VCC141AMD64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    359 TOOL_VCC141AMD64_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
    360 TOOL_VCC141AMD64_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    361 define TOOL_VCC141AMD64_LINK_PROGRAM_CMDS
     354TOOL_VCC140AMD64_LINK_PROGRAM_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     355TOOL_VCC140AMD64_LINK_PROGRAM_DEPORD =
     356TOOL_VCC140AMD64_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
     357TOOL_VCC140AMD64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     358TOOL_VCC140AMD64_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
     359TOOL_VCC140AMD64_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     360define TOOL_VCC140AMD64_LINK_PROGRAM_CMDS
    362361        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    363362                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    364         $(QUIET)$(TOOL_VCC141AMD64_KSUBMIT_DD) $(TOOL_VCC141AMD64_LD) $(flags) \
     363        $(QUIET)$(TOOL_VCC140AMD64_KSUBMIT_DD) $(TOOL_VCC140AMD64_LD) $(flags) \
    365364                /OUT:$(out) \
    366365                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    370369                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    371370                @$(outbase).rsp
    372 ifndef TOOL_VCC141AMD64_NO_AUTO_MANIFEST
     371ifndef TOOL_VCC140AMD64_NO_AUTO_MANIFEST
    373372        $(QUIET)$(TEST) -f $(out).manifest -- \
    374                 $(TOOL_VCC141AMD64_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
     373                $(TOOL_VCC140AMD64_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
    375374endif
    376375endef
     
    391390#
    392391# @param    $(outbase)  Output basename (full). Use this for list files and such.
    393 TOOL_VCC141AMD64_LINK_DLL_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    394 TOOL_VCC141AMD64_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
    395 TOOL_VCC141AMD64_LINK_DLL_OUTPUT = $(outbase).lib $(outbase).exp
    396 TOOL_VCC141AMD64_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
    397 TOOL_VCC141AMD64_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(outbase).map $(outbase).rsp
    398 TOOL_VCC141AMD64_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
    399 TOOL_VCC141AMD64_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    400 define TOOL_VCC141AMD64_LINK_DLL_CMDS
     392TOOL_VCC140AMD64_LINK_DLL_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     393TOOL_VCC140AMD64_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
     394TOOL_VCC140AMD64_LINK_DLL_OUTPUT = $(outbase).lib $(outbase).exp
     395TOOL_VCC140AMD64_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
     396TOOL_VCC140AMD64_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(outbase).map $(outbase).rsp
     397TOOL_VCC140AMD64_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
     398TOOL_VCC140AMD64_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     399define TOOL_VCC140AMD64_LINK_DLL_CMDS
    401400        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    402401                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    403         $(QUIET)$(TOOL_VCC141AMD64_KSUBMIT_DD) $(TOOL_VCC141AMD64_LD) $(flags) \
     402        $(QUIET)$(TOOL_VCC140AMD64_KSUBMIT_DD) $(TOOL_VCC140AMD64_LD) $(flags) \
    404403                /OUT:$(out) \
    405404                /IMPLIB:$(outbase).lib \
     
    411410                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    412411                @$(outbase).rsp
    413 ifndef TOOL_VCC141AMD64_NO_AUTO_MANIFEST
     412ifndef TOOL_VCC140AMD64_NO_AUTO_MANIFEST
    414413        $(QUIET)$(TEST) -f $(out).manifest -- \
    415                 $(TOOL_VCC141AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     414                $(TOOL_VCC140AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    416415endif
    417416        $(QUIET)$(TEST) -f $(outbase).lib -- $(KLIBTWEAKER_EXT) --clear-timestamps $(outbase).lib
     
    435434#
    436435# @param    $(outbase)  Output basename (full). Use this for list files and such.
    437 TOOL_VCC141AMD64_LINK_SYSMOD_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    438 TOOL_VCC141AMD64_LINK_SYSMOD_DEPORD =
    439 TOOL_VCC141AMD64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    440 TOOL_VCC141AMD64_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
    441 TOOL_VCC141AMD64_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
    442 TOOL_VCC141AMD64_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    443 define TOOL_VCC141AMD64_LINK_SYSMOD_CMDS
     436TOOL_VCC140AMD64_LINK_SYSMOD_DEPEND = $(foreachfile lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     437TOOL_VCC140AMD64_LINK_SYSMOD_DEPORD =
     438TOOL_VCC140AMD64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     439TOOL_VCC140AMD64_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).map $(outbase).rsp
     440TOOL_VCC140AMD64_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
     441TOOL_VCC140AMD64_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     442define TOOL_VCC140AMD64_LINK_SYSMOD_CMDS
    444443        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    445444                $(qforeachfile u,arg, $(objs) $(libs),$(quote-sh "$(subst /,\,$(arg))"))
    446         $(QUIET)$(TOOL_VCC141AMD64_KSUBMIT_DD) $(TOOL_VCC141AMD64_LD) $(flags) \
     445        $(QUIET)$(TOOL_VCC140AMD64_KSUBMIT_DD) $(TOOL_VCC140AMD64_LD) $(flags) \
    447446                /OUT:$(out) \
    448447                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    452451                $(qaddprefix sh,/LIBPATH:,$(libpath)) \
    453452                @$(outbase).rsp
    454 ifndef TOOL_VCC141AMD64_NO_AUTO_MANIFEST
     453ifndef TOOL_VCC140AMD64_NO_AUTO_MANIFEST
    455454        $(QUIET)$(TEST) -f $(out).manifest -- \
    456                 $(TOOL_VCC141AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     455                $(TOOL_VCC140AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    457456endif
    458457endef
Note: See TracChangeset for help on using the changeset viewer.