VirtualBox

Changeset 3036 in kBuild


Ignore:
Timestamp:
May 9, 2017 3: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.

Location:
trunk/kBuild/tools
Files:
2 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)\
  • trunk/kBuild/tools/VCC120X86.kmk

    r3033 r3036  
    5858 # Resolve any fancy stuff once and for all.
    5959 PATH_TOOL_VCC120X86 := $(PATH_TOOL_VCC120X86)
     60endif
     61
     62ifeq ($(KBUILD_HOST).$(KBUILD_HOST_ARCH),win.amd64)
     63 PATH_TOOL_VCC120X86_BIN_DLL ?= $(PATH_TOOL_VCC120AMD64)/bin/amd64
     64 PATH_TOOL_VCC120X86_BIN     ?= $(PATH_TOOL_VCC120AMD64)/bin/amd64_x86
     65else
     66PATH_TOOL_VCC120X86_BIN_DLL ?=
     67 PATH_TOOL_VCC120X86_BIN   ?= $(PATH_TOOL_VCC120AMD64)/bin
    6068endif
    6169PATH_TOOL_VCC120X86_BIN    ?= $(PATH_TOOL_VCC120X86)/bin
     
    8088  TOOL_VCC120X86_KSUBMIT_DD = $(TOOL_VCC120X86_KSUBMIT) --
    8189 endif
     90else ifdef PATH_TOOL_VCC120X86_BIN_DLL
     91 TOOL_VCC120X86_KSUBMIT_DD  = $(REDIRECT) -E 'PATH=$(PATH_TOOL_VCC120X86_BIN_DLL)$(HOST_PATH_SEP)$(PATH)' --
    8292endif
    8393
     
    156166 define TOOL_VCC120X86_COMPILE_C_CMDS
    157167        $(QUIET)$(TOOL_VCC120X86_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     168                $(if-expr defined(PATH_TOOL_VCC120X86_BIN_DLL),-E 'PATH=$(PATH_TOOL_VCC120X86_BIN_DLL)$(HOST_PATH_SEP)$(PATH)',)\
    158169                -- $(TOOL_VCC120X86_CC) -c\
    159170                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    164175else
    165176 define TOOL_VCC120X86_COMPILE_C_CMDS
    166         $(QUIET)$(TOOL_VCC120X86_CC) -c\
     177        $(QUIET)$(if-expr defined(PATH_TOOL_VCC120X86_BIN_DLL)\
     178                ,$(REDIRECT) -E 'PATH=$(PATH_TOOL_VCC120X86_BIN_DLL)$(HOST_PATH_SEP)$(PATH)' -- ,)$(TOOL_VCC120X86_CC) -c\
    167179                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    168180                -Fd$(outbase)-obj.pdb \
     
    196208 define TOOL_VCC120X86_COMPILE_CXX_CMDS
    197209        $(QUIET)$(TOOL_VCC120X86_KSUBMIT) -P $(DEP_OBJ_INT) -f -s -q -o $(dep) -t $(obj) $(obj)\
     210                $(if-expr defined(PATH_TOOL_VCC120X86_BIN_DLL),-E 'PATH=$(PATH_TOOL_VCC120X86_BIN_DLL)$(HOST_PATH_SEP)$(PATH)',)\
    198211                -- $(TOOL_VCC120X86_CXX) -c\
    199212                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    206219else
    207220 define TOOL_VCC120X86_COMPILE_CXX_CMDS
    208         $(QUIET)$(TOOL_VCC120X86_CXX) -c\
     221        $(QUIET)$(if-expr defined(PATH_TOOL_VCC120X86_BIN_DLL)\
     222                ,$(REDIRECT) -E 'PATH=$(PATH_TOOL_VCC120X86_BIN_DLL)$(HOST_PATH_SEP)$(PATH)' -- ,)$(TOOL_VCC120X86_CXX) -c\
    209223                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    210224                $(if-expr defined($(target)_PCH_HDR)\
     
    240254 define TOOL_VCC120X86-PCH_COMPILE_CXX_CMDS
    241255        $(QUIET)$(TOOL_VCC120X86_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
     256                $(if-expr defined(PATH_TOOL_VCC120X86_BIN_DLL),-E 'PATH=$(PATH_TOOL_VCC120X86_BIN_DLL)$(HOST_PATH_SEP)$(PATH)',)\
    242257                -- $(TOOL_VCC120X86_CXX) -c -Yc\
    243258                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    250265else
    251266 define TOOL_VCC120X86-PCH_COMPILE_CXX_CMDS
    252         $(QUIET)$(TOOL_VCC120X86_CXX) -c -Yc\
     267        $(QUIET)$(if-expr defined(PATH_TOOL_VCC120X86_BIN_DLL)\
     268                ,$(REDIRECT) -E 'PATH=$(PATH_TOOL_VCC120X86_BIN_DLL)$(HOST_PATH_SEP)$(PATH)' -- ,)$(TOOL_VCC120X86_CXX) -c -Yc\
    253269                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    254270               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    281297TOOL_VCC120X86_COMPILE_RC_DEPORD =
    282298TOOL_VCC120X86_COMPILE_RC_OUTPUT =
     299## @todo Fix kmk_redirect so we can use it for setting PATH without spawning a shell or two
    283300define TOOL_VCC120X86_COMPILE_RC_CMDS
    284         $(QUIET)$(TOOL_VCC120X86_RC) \
     301        $(QUIET)$(if-expr defined(PATH_TOOL_VCC120X86_BIN_DLL)\
     302                ,PATH='$(PATH_TOOL_VCC120X86_BIN_DLL)$(HOST_PATH_SEP)$(PATH)') $(TOOL_VCC120X86_RC) \
    285303                $(flags) $(addprefix /i, $(subst /,\\,$(incs))) $(addprefix /d, $(defs))\
    286304                /fo$(obj)\
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