Ignore:
Timestamp:
May 9, 2017, 5:59:50 PM (8 years ago)
Author:
bird
Message:

VCC120AMD64.kmk,VCC120X86.kmk: When using the cross compiling binaries, we need to point the PATH the directory with the native binaries so DLLs and EXEs can be found (linker mostly). Don't want to require them to be copied around to each dir extra. kmk_redirect should make this rather cheap.

File:
1 edited

Legend:

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

    r3033 r3036  
    5959PATH_TOOL_VCC120AMD64_BIN ?= $(PATH_TOOL_VCC120AMD64)/bin/amd64
    6060else
     61PATH_TOOL_VCC120AMD64_BIN_DLL ?= $(PATH_TOOL_VCC120AMD64)/bin
    6162PATH_TOOL_VCC120AMD64_BIN ?= $(PATH_TOOL_VCC120AMD64)/bin/x86_amd64
    6263endif
     
    8788  endif
    8889 endif
     90else ifdef PATH_TOOL_VCC120AMD64_BIN_DLL
     91 TOOL_VCC120AMD64_KSUBMIT_DD  = $(REDIRECT) -E 'PATH=$(PATH_TOOL_VCC120AMD64_BIN_DLL)$(HOST_PATH_SEP)$(PATH)' --
    8992endif
    9093
     
    163166 define TOOL_VCC120AMD64_COMPILE_C_CMDS
    164167        $(QUIET)$(TOOL_VCC120AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     168                $(if-expr defined(PATH_TOOL_VCC120AMD64_BIN_DLL),-E 'PATH=$(PATH_TOOL_VCC120AMD64_BIN_DLL)$(HOST_PATH_SEP)$(PATH)',)\
    165169                -- $(TOOL_VCC120AMD64_CC) -c\
    166170                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    171175else
    172176 define TOOL_VCC120AMD64_COMPILE_C_CMDS
    173         $(QUIET)$(TOOL_VCC120AMD64_CC) -c\
     177        $(QUIET)$(if-expr defined(PATH_TOOL_VCC120AMD64_BIN_DLL)\
     178                ,$(REDIRECT) -E 'PATH=$(PATH_TOOL_VCC120AMD64_BIN_DLL)$(HOST_PATH_SEP)$(PATH)' -- ,)$(TOOL_VCC120AMD64_CC) -c\
    174179                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    175180                -Fd$(outbase)-obj.pdb \
     
    203208 define TOOL_VCC120AMD64_COMPILE_CXX_CMDS
    204209        $(QUIET)$(TOOL_VCC120AMD64_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     210                $(if-expr defined(PATH_TOOL_VCC120AMD64_BIN_DLL),-E 'PATH=$(PATH_TOOL_VCC120AMD64_BIN_DLL)$(HOST_PATH_SEP)$(PATH)',)\
    205211                -- $(TOOL_VCC120AMD64_CXX) -c\
    206212                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    213219else
    214220 define TOOL_VCC120AMD64_COMPILE_CXX_CMDS
    215         $(QUIET)$(TOOL_VCC120AMD64_CXX) -c\
     221        $(QUIET)$(if-expr defined(PATH_TOOL_VCC120AMD64_BIN_DLL)\
     222                ,$(REDIRECT) -E 'PATH=$(PATH_TOOL_VCC120AMD64_BIN_DLL)$(HOST_PATH_SEP)$(PATH)' -- ,)$(TOOL_VCC120AMD64_CXX) -c\
    216223                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    217224                $(if-expr defined($(target)_PCH_HDR)\
     
    248255        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    249256        $(QUIET)$(TOOL_VCC120AMD64_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
     257                $(if-expr defined(PATH_TOOL_VCC120AMD64_BIN_DLL),-E 'PATH=$(PATH_TOOL_VCC120AMD64_BIN_DLL)$(HOST_PATH_SEP)$(PATH)',)\
    250258                -- $(TOOL_VCC120AMD64_CXX) -c -Yc\
    251259                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    259267 define TOOL_VCC120AMD64-PCH_COMPILE_CXX_CMDS
    260268        $(QUIET)$(RM) -f -- $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    261         $(QUIET)$(TOOL_VCC120AMD64_CXX) -c -Yc\
     269        $(QUIET)$(if-expr defined(PATH_TOOL_VCC120AMD64_BIN_DLL)\
     270                ,$(REDIRECT) -E 'PATH=$(PATH_TOOL_VCC120AMD64_BIN_DLL)$(HOST_PATH_SEP)$(PATH)' -- ,)$(TOOL_VCC120AMD64_CXX) -c -Yc\
    262271                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    263272               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    290299TOOL_VCC120AMD64_COMPILE_RC_DEPORD =
    291300TOOL_VCC120AMD64_COMPILE_RC_OUTPUT =
     301## @todo Fix kmk_redirect so we can use it for setting PATH without spawning a shell or two
    292302define TOOL_VCC120AMD64_COMPILE_RC_CMDS
    293         $(QUIET)$(TOOL_VCC120AMD64_RC) \
     303        $(QUIET)$(if-expr defined(PATH_TOOL_VCC120AMD64_BIN_DLL)\
     304                ,PATH='$(PATH_TOOL_VCC120AMD64_BIN_DLL)$(HOST_PATH_SEP)$(PATH)',)$(TOOL_VCC120AMD64_RC) \
    294305                $(flags) $(addprefix /i, $(subst /,\\,$(incs))) $(addprefix /d, $(defs))\
    295306                /fo$(obj)\
Note: See TracChangeset for help on using the changeset viewer.