VirtualBox

Changeset 104675 in vbox


Ignore:
Timestamp:
May 16, 2024 11:33:02 AM (7 months ago)
Author:
vboxsync
Message:

Config.kmk: Some early bits to support win.arm64, bugref:10392

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r104643 r104675  
    559559VBOX_WITH_DBGF_FLOW_TRACING = 1
    560560# Enables ARMv8 virtualization, see @bugref{10383}
    561 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64)
     561if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64 win.arm64)
    562562 VBOX_WITH_VIRT_ARMV8 = 1
    563563endif
     
    781781# On Linux we build this as a test case instead.
    782782# On darwin we don't use a support driver.
    783 if "$(KBUILD_TARGET)" != "linux" && "$(KBUILD_TARGET)" != "darwin"
     783if "$(KBUILD_TARGET)" != "linux" && "$(KBUILD_TARGET)" != "darwin" && "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" != "win.arm64"
    784784 VBOX_WITH_VBOXDRV = 1
    785785endif
     
    19491949   VBOX_GCC_TOOL := MINGW32
    19501950   TOOL_MINGW32_CFLAGS := $(UNDEFINED) # override -g
    1951   else
     1951  else ifeq ($(KBUILD_TARGET_ARCH),amd64)
    19521952   VBOX_GCC_TOOL := MINGWW64
     1953  else_ifeq ($(KBUILD_TARGET_ARCH),arm64)
     1954   VBOX_GCC_TOOL := CLANGVCC143ARM64
    19531955  endif
    19541956 else ifeq ($(KBUILD_TARGET),os2)
     
    19982000ifndef VBOX_VCC_TOOL_STEM
    19992001 ifdef VBOX_WITH_NEW_VCC
    2000   VBOX_VCC_TOOL_STEM := VCC142
     2002  ifeq ($(KBUILD_TARGET_ARCH),arm64)
     2003   VBOX_VCC_TOOL_STEM := VCC143
     2004  else
     2005   VBOX_VCC_TOOL_STEM := VCC142
     2006  endif
    20012007 else
    20022008  VBOX_VCC_TOOL_STEM := VCC100
    20032009 endif
    2004 else ifn1of ($(VBOX_VCC_TOOL_STEM), VCC100 VCC110 VCC120 VCC140 VCC141 VCC142)
    2005  $(error VBox: VBOX_VCC_TOOL_STEM='$(VBOX_VCC_TOOL_STEM)' is not supported, only VCC100, VCC110, VCC120, VCC140, VCC141, VCC142 are)
     2010else ifn1of ($(VBOX_VCC_TOOL_STEM), VCC100 VCC110 VCC120 VCC140 VCC141 VCC142 VCC143)
     2011 $(error VBox: VBOX_VCC_TOOL_STEM='$(VBOX_VCC_TOOL_STEM)' is not supported, only VCC100, VCC110, VCC120, VCC140, VCC141, VCC142, VCC143 are)
    20062012endif
    20072013ifndef VBOX_VCC_TOOL
     
    20182024  VBOX_NEWER_VCC_TOOL_STEM := VCC120
    20192025 endif
    2020 else ifn1of ($(VBOX_NEWER_VCC_TOOL_STEM), VCC120 VCC140 VCC141 VCC142)
     2026else ifn1of ($(VBOX_NEWER_VCC_TOOL_STEM), VCC120 VCC140 VCC141 VCC142 VCC143)
    20212027 $(error VBox: VBOX_NEWER_VCC_TOOL_STEM='$(VBOX_NEWER_VCC_TOOL_STEM)' is not supported)
    20222028endif
     
    32243230 # Note! Changes in GCC are not detected automatically (yet).
    32253231 #
    3226  if $(pos VBox,$(VBOX_GCC_TOOL)) > 0
    3227   include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC_TOOL).kmk
    3228  else
    3229   include $(KBUILD_PATH)/tools/$(VBOX_GCC_TOOL).kmk
    3230  endif
    3231  ifneq ($(VBOX_GCC_TOOL),$(VBOX_GCC32_TOOL))
    3232   if $(pos VBox,$(VBOX_GCC32_TOOL)) > 0
    3233    include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC32_TOOL).kmk
     3232 ifneq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.arm64)
     3233  if $(pos VBox,$(VBOX_GCC_TOOL)) > 0
     3234   include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC_TOOL).kmk
    32343235  else
    3235    include $(KBUILD_PATH)/tools/$(VBOX_GCC32_TOOL).kmk
     3236   include $(KBUILD_PATH)/tools/$(VBOX_GCC_TOOL).kmk
     3237  endif
     3238  ifneq ($(VBOX_GCC_TOOL),$(VBOX_GCC32_TOOL))
     3239   if $(pos VBox,$(VBOX_GCC32_TOOL)) > 0
     3240    include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC32_TOOL).kmk
     3241   else
     3242    include $(KBUILD_PATH)/tools/$(VBOX_GCC32_TOOL).kmk
     3243   endif
    32363244  endif
    32373245 endif
     
    34363444        $(QUIET)$(APPEND) '$@' 'VBOX_GCC_PATH_CC               ?= $(which $(TOOL_$(VBOX_GCC_TOOL)_CC))'
    34373445        $(QUIET)$(APPEND) '$@' 'VBOX_GCC_PATH_CXX              ?= $(which $(TOOL_$(VBOX_GCC_TOOL)_CXX))'
     3446 ifneq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.arm64)
    34383447        $(QUIET)$(APPEND) '$@' 'VBOX_GCC_LIBGCC                ?= $(shell $(TOOL_$(VBOX_GCC_TOOL)_CC) -print-libgcc-file-name)'
     3448 endif
    34393449        $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-pointer-sign      ?= $(call VBOX_GCC_CHECK_CC,-Wno-pointer-sign,)'
    34403450        $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-array_bounds      ?= $(call VBOX_GCC_CHECK_CC,-Wno-array-bounds,)'
     
    52575267SDK_VBoxNtDll_LIBS.x86        ?= $(PATH_STAGE_LIB)/RuntimeR3NtDll-x86.lib
    52585268SDK_VBoxNtDll_LIBS.amd64      ?= $(PATH_STAGE_LIB)/RuntimeR3NtDll-amd64.lib
     5269SDK_VBoxNtDll_LIBS.arm64      ?= $(PATH_STAGE_LIB)/RuntimeR3NtDll-arm64.lib
    52595270
    52605271#
     
    52665277 SDK_VBoxWinNewDevLib_LIBS.x86   = $(PATH_SDK_$(VBOX_WINPSDK)_LIB.x86)/newdev.lib
    52675278 SDK_VBoxWinNewDevLib_LIBS.amd64 = $(PATH_SDK_$(VBOX_WINPSDK)_LIB.amd64)/newdev.lib
     5279 SDK_VBoxWinNewDevLib_LIBS.arm64 = $(PATH_SDK_$(VBOX_WINPSDK)_LIB.arm64)/newdev.lib
    52685280else
    52695281 SDK_VBoxWinNewDevLib_LIBS.x86   = $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/newdev.lib
     
    62946306 TEMPLATE_VBoxR3Exe_TOOL.win.x86       = $(VBOX_VCC_TOOL_STEM)X86
    62956307 TEMPLATE_VBoxR3Exe_TOOL.win.amd64     = $(VBOX_VCC_TOOL_STEM)AMD64
     6308 TEMPLATE_VBoxR3Exe_TOOL.win.arm64     = $(VBOX_VCC_TOOL_STEM)ARM64
    62966309 TEMPLATE_VBoxR3Exe_RCDEFS             = VBOX_SVN_REV=$(VBOX_SVN_REV) VBOX_SVN_REV_MOD_5K=$(expr $(VBOX_SVN_REV) % 50000)
    62976310 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
     
    63586371        $(PATH_TOOL_$(TEMPLATE_VBoxR3Exe_TOOL.win.amd64)_LIB)/msvcprt$(VBOX_VCC_CRT_TYPE).lib \
    63596372        $(PATH_TOOL_$(TEMPLATE_VBoxR3Exe_TOOL.win.amd64)_LIB)/oldnames.lib
     6373  TEMPLATE_VBoxR3Exe_LIBS.arm64         = \
     6374    $(PATH_TOOL_$(TEMPLATE_VBoxR3Exe_TOOL.win.arm64)_LIB)/vcruntime$(VBOX_VCC_CRT_TYPE).lib \
     6375    $(PATH_TOOL_$(TEMPLATE_VBoxR3Exe_TOOL.win.arm64)_LIB)/msvcrt$(VBOX_VCC_CRT_TYPE).lib \
     6376    $(PATH_TOOL_$(TEMPLATE_VBoxR3Exe_TOOL.win.arm64)_LIB)/msvcprt$(VBOX_VCC_CRT_TYPE).lib \
     6377    $(PATH_TOOL_$(TEMPLATE_VBoxR3Exe_TOOL.win.arm64)_LIB)/oldnames.lib
    63606378  ifeq ($(KBUILD_TYPE),asan)
    63616379   TEMPLATE_VBoxR3Exe_LIBS.x86         += \
     
    66906708        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
    66916709        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/oldnames.lib
     6710   TEMPLATE_VBoxR3StaticBase_LIBS.arm64        = \
     6711    $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.arm64)_LIB)/libvcruntime$(VBOX_VCC_CRT_TYPE).lib \
     6712    $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.arm64)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
     6713    $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.arm64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
     6714    $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.arm64)_LIB)/oldnames.lib
    66926715  endif
    66936716  ifeq ($(KBUILD_TYPE),asan)
     
    67126735        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
    67136736        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/oldnames.lib
     6737   TEMPLATE_VBoxR3StaticBase_LIBS.arm64        = \
     6738    $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.arm64)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
     6739    $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.arm64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
     6740    $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.arm64)_LIB)/oldnames.lib
    67146741  endif
    67156742 endif
     
    72457272 TEMPLATE_VBoxMainExe_TOOL.win.x86       = $(VBOX_VCC_TOOL_STEM)X86
    72467273 TEMPLATE_VBoxMainExe_TOOL.win.amd64     = $(VBOX_VCC_TOOL_STEM)AMD64
     7274 TEMPLATE_VBoxMainExe_TOOL.win.arm64     = $(VBOX_VCC_TOOL_STEM)ARM64
    72477275 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
    72487276  TEMPLATE_VBoxMainExe_SDKS              = ReorderCompilerIncs WINSDK10-UCRT$(VBOX_VCC_CRT_TYPE_UPPER) $(VBOX_WINPSDK) $(VBOX_WINDDK)
     
    73157343        $(PATH_TOOL_$(TEMPLATE_VBoxMainExe_TOOL.win.amd64)_LIB)/msvcprt$(VBOX_VCC_CRT_TYPE).lib \
    73167344        $(PATH_TOOL_$(TEMPLATE_VBoxMainExe_TOOL.win.amd64)_LIB)/oldnames.lib
     7345  TEMPLATE_VBoxMainExe_LIBS.arm64         = \
     7346    $(PATH_TOOL_$(TEMPLATE_VBoxMainExe_TOOL.win.arm64)_LIB)/vcruntime$(VBOX_VCC_CRT_TYPE).lib \
     7347    $(PATH_TOOL_$(TEMPLATE_VBoxMainExe_TOOL.win.arm64)_LIB)/msvcrt$(VBOX_VCC_CRT_TYPE).lib \
     7348    $(PATH_TOOL_$(TEMPLATE_VBoxMainExe_TOOL.win.arm64)_LIB)/msvcprt$(VBOX_VCC_CRT_TYPE).lib \
     7349    $(PATH_TOOL_$(TEMPLATE_VBoxMainExe_TOOL.win.arm64)_LIB)/oldnames.lib
    73177350  ifeq ($(KBUILD_TYPE),asan)
    73187351   TEMPLATE_VBoxMainExe_LIBS.x86         += \
     
    87918824        $(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.amd64)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
    87928825        $(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.amd64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib
     8826  TEMPLATE_NewerVccVBoxGuestR3Dll_LIBS.arm64         = \
     8827    $(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.arm64)_LIB)/oldnames.lib \
     8828    $(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.arm64)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
     8829    $(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.arm64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib
    87938830 endif # !VBOX_WITH_NOCRT_STATIC
    87948831 # Hack end
Note: See TracChangeset for help on using the changeset viewer.

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