Changeset 3313 for trunk/kBuild


Ignore:
Timestamp:
Mar 16, 2020, 3:31:38 AM (5 years ago)
Author:
bird
Message:

kmk,kWorker: Assign processor groups to kWorker processes. Added --special-env hack for having a mspdbsrv.exe instance per processor group (using _MSPDBSRV_ENDPOINT_). This was complicated by PCH requiring to share .pdb file and therefore mspdbsrv.exe instance, requiring a mspdb100.dll re-init hack to disconnect kWorker from the previous mspdbsrv when switching. fun.

Location:
trunk/kBuild/tools
Files:
2 edited

Legend:

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

    r3303 r3313  
    8080  ifneq ($(substr $(PATH_TOOL_VCC100AMD64_BIN),-9),x86_amd64)
    8181   TOOL_VCC100AMD64_KSUBMIT ?= kmk_builtin_kSubmit --64-bit
    82    TOOL_VCC100AMD64_KSUBMIT_DD = $(TOOL_VCC100AMD64_KSUBMIT) --
     82   if $(KBUILD_KMK_REVISION) > 3311
     83    TOOL_VCC100AMD64_KSUBMIT_SPECIAL_ENV = -s "_MSPDBSRV_ENDPOINT_=kBuild_vcc10_amd64_@@AUTHENTICATION_ID@@_$(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB),common,@@PROCESS_GROUP@@)"
     84   endif
     85   TOOL_VCC100AMD64_KSUBMIT_DD = $(TOOL_VCC100AMD64_KSUBMIT) $(TOOL_VCC100AMD64_KSUBMIT_SPECIAL_ENV) --
    8386  else
    8487   # "fatal error C1902: Program database manager mismatch; please check your installation" when mixing with the 32-bit compiler.
     
    162165 TOOL_VCC100AMD64_COMPILE_C_DONT_PURGE_OUTPUT := 1 # speed
    163166 define TOOL_VCC100AMD64_COMPILE_C_CMDS
    164         $(QUIET)$(TOOL_VCC100AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     167        $(QUIET)$(TOOL_VCC100AMD64_KSUBMIT) $(TOOL_VCC100AMD64_KSUBMIT_SPECIAL_ENV) \
     168                -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    165169                -- $(TOOL_VCC100AMD64_CC) -c\
    166170                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    202206 TOOL_VCC100AMD64_COMPILE_CXX_DONT_PURGE_OUTPUT := 1 # speed
    203207 define TOOL_VCC100AMD64_COMPILE_CXX_CMDS
    204         $(QUIET)$(TOOL_VCC100AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    205                 -- $(TOOL_VCC100AMD64_CXX) -c\
     208        $(QUIET)$(TOOL_VCC100AMD64_KSUBMIT) $(TOOL_VCC100AMD64_KSUBMIT_SPECIAL_ENV) \
     209                -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj) -- $(TOOL_VCC100AMD64_CXX) -c\
    206210                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    207211                $(if-expr defined($(target)_PCH_HDR)\
     
    246250 define TOOL_VCC100AMD64-PCH_COMPILE_CXX_CMDS
    247251        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    248         $(QUIET)$(TOOL_VCC100AMD64_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
     252        $(QUIET)$(TOOL_VCC100AMD64_KSUBMIT) --no-pch-caching $(TOOL_VCC100AMD64_KSUBMIT_SPECIAL_ENV) \
     253                -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
    249254                -- $(TOOL_VCC100AMD64_CXX) -c -Yc\
    250255                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
  • trunk/kBuild/tools/VCC100X86.kmk

    r3303 r3313  
    7878 ifeq ($(KBUILD_HOST),win)
    7979  TOOL_VCC100X86_KSUBMIT ?= kmk_builtin_kSubmit --32-bit
    80   TOOL_VCC100X86_KSUBMIT_DD = $(TOOL_VCC100X86_KSUBMIT) --
     80  if $(KBUILD_KMK_REVISION) > 3311
     81   TOOL_VCC100X86_KSUBMIT_SPECIAL_ENV = -s "_MSPDBSRV_ENDPOINT_=kBuild_vcc10_x86_@@AUTHENTICATION_ID@@_$(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB),common,@@PROCESS_GROUP@@)"
     82  endif
     83  TOOL_VCC100X86_KSUBMIT_DD = $(TOOL_VCC100X86_KSUBMIT) $(TOOL_VCC100X86_KSUBMIT_SPECIAL_ENV) --
    8184 endif
    8285endif
     
    155158 TOOL_VCC100X86_COMPILE_C_DONT_PURGE_OUTPUT = 1 # speed
    156159 define TOOL_VCC100X86_COMPILE_C_CMDS
    157         $(QUIET)$(TOOL_VCC100X86_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     160        $(QUIET)$(TOOL_VCC100X86_KSUBMIT) $(TOOL_VCC100X86_KSUBMIT_SPECIAL_ENV) \
     161                -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    158162                -- $(TOOL_VCC100X86_CC) -c\
    159163                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    195199 TOOL_VCC100X86_COMPILE_CXX_DONT_PURGE_OUTPUT = 1 # speed
    196200 define TOOL_VCC100X86_COMPILE_CXX_CMDS
    197         $(QUIET)$(TOOL_VCC100X86_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     201        $(QUIET)$(TOOL_VCC100X86_KSUBMIT) $(TOOL_VCC100X86_KSUBMIT_SPECIAL_ENV) \
     202                -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
    198203                -- $(TOOL_VCC100X86_CXX) -c\
    199204                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    238243ifdef TOOL_VCC100X86_KSUBMIT
    239244 define TOOL_VCC100X86-PCH_COMPILE_CXX_CMDS
    240         $(QUIET)$(TOOL_VCC100X86_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
     245        $(RM) -f -- "$($(target)_1_VCC_COMMON_OBJ_PDB)"
     246        $(QUIET)$(TOOL_VCC100X86_KSUBMIT) --no-pch-caching $(TOOL_VCC100X86_KSUBMIT_SPECIAL_ENV) \
     247                -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
    241248                -- $(TOOL_VCC100X86_CXX) -c -Yc\
    242249                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    257264                $(subst /,\\,$(abspath $(source)))
    258265        $(QUIET)$(DEP_OBJ) -f -s -q  -e .pch -o $(dep) -t $(obj) $(obj)
    259 
    260266 endef
    261267endif # !TOOL_VCC100X86_KSUBMIT
Note: See TracChangeset for help on using the changeset viewer.