VirtualBox

Changeset 106532 in vbox


Ignore:
Timestamp:
Oct 20, 2024 11:44:58 PM (5 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165366
Message:

/Config.kmk: Reworked the assembler configs to better support cross compiling. jiraref:VBP-1171

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r106525 r106532  
    18431843endif
    18441844
    1845 #
    1846 # Image and object format config.
    1847 #
    1848 if1of ($(KBUILD_TARGET), freebsd haiku linux netbsd openbsd solaris)
    1849  VBOX_LDR_FMT = elf
    1850 endif
    1851 ifeq ($(KBUILD_TARGET),darwin)
    1852  VBOX_LDR_FMT = macho
    1853 endif
    1854 ifeq ($(KBUILD_TARGET),os2)
    1855  VBOX_LDR_FMT = lx
    1856  VBOX_LDR_FMT32 = lx
    1857  VBOX_LDR_FMT64 = elf
    1858  DONT_USE_YASM = 1 # yasm doesn't implement omf yet.
    1859 endif
    1860 ifeq ($(KBUILD_TARGET),win)
    1861  VBOX_LDR_FMT = pe
    1862 endif
    1863 VBOX_LDR_FMT32 ?= $(VBOX_LDR_FMT)
    1864 VBOX_LDR_FMT64 ?= $(VBOX_LDR_FMT)
    1865 
    1866 #
    1867 # Assembler setup.
    1868 #
    1869 # This is a bit complicated since we have to support two different assmblers
    1870 # (yasm/nasm) and possibly two different formats (32-bit/64-bit).
    1871 #
    1872 if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
    1873  ifeq ($(VBOX_LDR_FMT),elf)
    1874   ifeq ($(KBUILD_TARGET_ARCH),x86)
    1875    VBOX_ASFLAGS_FMT = -f elf32 -DASM_FORMAT_ELF
    1876   else
    1877    VBOX_ASFLAGS_FMT = -f elf64 -DASM_FORMAT_ELF
    1878   endif
    1879   VBOX_ASFLAGS_DBFINFO = -g dwarf2
    1880  endif
    1881  ifeq ($(VBOX_LDR_FMT),lx)
    1882   VBOX_ASFLAGS_FMT = -f obj -DASM_FORMAT_OMF
    1883   VBOX_ASFLAGS_DBFINFO = -g stabs
    1884  endif
    1885  ifeq ($(VBOX_LDR_FMT),macho)
    1886   ifeq ($(KBUILD_TARGET_ARCH),x86)
    1887    VBOX_ASFLAGS_FMT = -f macho32 -DASM_FORMAT_MACHO
    1888   else
    1889    VBOX_ASFLAGS_FMT = -f macho64 -DASM_FORMAT_MACHO
    1890   endif
    1891   VBOX_ASFLAGS_DBFINFO = -g dwarf2
    1892  endif
    1893  ifeq ($(VBOX_LDR_FMT),pe)
    1894   ifeq ($(KBUILD_TARGET_ARCH),x86)
    1895    VBOX_ASFLAGS_FMT = -f win32 -DASM_FORMAT_PE
    1896   else
    1897    VBOX_ASFLAGS_FMT = -f win64 -DASM_FORMAT_PE
    1898   endif
    1899   VBOX_ASFLAGS_DBFINFO = -g cv8
    1900  endif
    1901  ifndef VBOX_ASFLAGS_FMT
    1902   $(error VBOX_ASFLAGS_FMT is not defined. VBOX_LDR_FMT=$(VBOX_LDR_FMT))
    1903  endif
    1904 
    1905  ifeq ($(VBOX_LDR_FMT32),elf)
    1906   VBOX_ASFLAGS_FMT32 = -f elf32 -DASM_FORMAT_ELF
    1907   VBOX_ASFLAGS_DBFINFO32 = -g dwarf2
    1908  endif
    1909  ifeq ($(VBOX_LDR_FMT32),lx)
    1910   VBOX_ASFLAGS_FMT32 = -f obj -DASM_FORMAT_OMF
    1911   VBOX_ASFLAGS_DBFINFO32 = -g stabs
    1912  endif
    1913  ifeq ($(VBOX_LDR_FMT32),macho)
    1914   VBOX_ASFLAGS_FMT32 = -f macho32 -DASM_FORMAT_MACHO
    1915   VBOX_ASFLAGS_DBFINFO32 = -g dwarf2
    1916  endif
    1917  ifeq ($(VBOX_LDR_FMT32),pe)
    1918   VBOX_ASFLAGS_FMT32 = -f win32 -DASM_FORMAT_PE
    1919   VBOX_ASFLAGS_DBFINFO32 = -g cv8
    1920  endif
    1921  ifndef VBOX_ASFLAGS_FMT32
    1922   $(error VBOX_ASFLAGS_FMT32 is not defined. VBOX_LDR_FMT32=$(VBOX_LDR_FMT32))
    1923  endif
    1924 
    1925  ifeq ($(VBOX_LDR_FMT64),elf)
    1926   VBOX_ASFLAGS_FMT64 = -f elf64 -DASM_FORMAT_ELF
    1927   VBOX_ASFLAGS_DBFINFO64 = -g dwarf2
    1928  endif
    1929  ifeq ($(VBOX_LDR_FMT64),macho)
    1930   VBOX_ASFLAGS_FMT64 = -f macho64 -DASM_FORMAT_MACHO
    1931   VBOX_ASFLAGS_DBFINFO64 = -g dwarf2
    1932  endif
    1933  ifeq ($(VBOX_LDR_FMT64),pe)
    1934   VBOX_ASFLAGS_FMT64 = -f win64 -DASM_FORMAT_PE
    1935   VBOX_ASFLAGS_DBFINFO64 = -g cv8
    1936  endif
    1937  ifndef VBOX_ASFLAGS_FMT64
    1938   $(error VBOX_ASFLAGS_FMT64 is not defined. VBOX_LDR_FMT64=$(VBOX_LDR_FMT64))
    1939  endif
    1940 
    1941  ifndef DONT_USE_YASM
    1942   VBOX_ASTOOL  = YASM
    1943   VBOX_LDR_FMT_2_YASM_DBGINFO.elf = -g dwarf2
    1944   VBOX_LDR_FMT_2_YASM_DBGINFO.lx  = -g stabs
    1945   VBOX_LDR_FMT_2_YASM_DBGINFO.macho =
    1946   VBOX_LDR_FMT_2_YASM_DBGINFO.pe  = -g cv8
    1947   VBOX_ASFLAGS = $(VBOX_ASFLAGS_FMT)   -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) $(VBOX_LDR_FMT_2_YASM_DBGINFO.$(VBOX_LDR_FMT))
    1948   VBOX_ASFLAGS32 = $(VBOX_ASFLAGS_FMT32) -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) $(VBOX_LDR_FMT_2_YASM_DBGINFO.$(VBOX_LDR_FMT32))
    1949   VBOX_ASFLAGS64 = $(VBOX_ASFLAGS_FMT64) -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) $(VBOX_LDR_FMT_2_YASM_DBGINFO.$(VBOX_LDR_FMT64))
    1950  else
    1951   VBOX_ASTOOL  = NASM
    1952   VBOX_ASFLAGS = $(subst elf32,elf,$(VBOX_ASFLAGS_FMT))   -D__NASM__ -w+orphan-labels -g
    1953   VBOX_ASFLAGS32 = $(subst elf32,elf,$(VBOX_ASFLAGS_FMT32)) -D__NASM__ -w+orphan-labels -g
    1954   VBOX_ASFLAGS64 = $(VBOX_ASFLAGS_FMT64) -D__NASM__ -w+orphan-labels -g
    1955  endif
    1956 else  # ifn1of ($(KBUILD_TARGET_ARCH), amd64 x86)
    1957  VBOX_ASTOOL      = $(VBOX_GCC_TOOL)
    1958  VBOX_LDR_FMT_2_FLAGS.elf   := -DASM_FORMAT_ELF
    1959  VBOX_LDR_FMT_2_FLAGS.macho := -DASM_FORMAT_MACHO
    1960  VBOX_LDR_FMT_2_FLAGS.pe    := -DASM_FORMAT_PE
    1961  VBOX_ASFLAGS    := -g $(VBOX_LDR_FMT_2_FLAGS.$(VBOX_LDR_FMT))
    1962  VBOX_ASFLAGS32  := -g $(VBOX_LDR_FMT_2_FLAGS.$(VBOX_LDR_FMT32))
    1963  VBOX_ASFLAGS64  := -g $(VBOX_LDR_FMT_2_FLAGS.$(VBOX_LDR_FMT64))
    1964  if1of ($(KBUILD_TARGET_ARCH), sparc32 sparc64)
    1965   VBOX_ASFLAGS   += -m$(VBOX_HC_ARCH_BITS)
    1966   VBOX_ASFLAGS32 += -m32
    1967   VBOX_ASFLAGS64 += -m64
    1968  endif
    1969 endif # ifn1of ($(KBUILD_TARGET_ARCH), amd64 x86)
     1845
     1846#
     1847# List of OSes and architectures we may possibly try build on/for.
     1848# This is used for the complicated assembler setup among other things.
     1849#
     1850VBOX_TARGET_OSES   := freebsd haiku linux netbsd openbsd solaris darwin os2 win
     1851VBOX_TARGET_ARCHES := amd64 x86 arm64 sparc32 sparc64
    19701852
    19711853#
     
    20691951 endif
    20701952endif
     1953
     1954
     1955#
     1956# Image and object format config.
     1957#
     1958VBOX_LDR_FMT.freebsd   := elf
     1959VBOX_LDR_FMT.haiku     := elf
     1960VBOX_LDR_FMT.linux     := elf
     1961VBOX_LDR_FMT.netbsd    := elf
     1962VBOX_LDR_FMT.openbsd   := elf
     1963VBOX_LDR_FMT.solaris   := elf
     1964VBOX_LDR_FMT.darwin    := macho
     1965VBOX_LDR_FMT.os2       := lx
     1966VBOX_LDR_FMT.win       := pe
     1967# Spread the above OS-level defaults to os+architecture specifics:
     1968$(foreach os,$(VBOX_TARGET_OSES),$(foreach arch,$(VBOX_TARGET_ARCHES)\
     1969,$(eval VBOX_LDR_FMT.$(os).$(arch) := $(VBOX_LDR_FMT.$(os)))))
     1970# os.arch overrides:
     1971VBOX_LDR_FMT.os2.amd64 := elf
     1972# The build target format.
     1973VBOX_LDR_FMT           := $(firstword $(VBOX_LDR_FMT.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)) $(VBOX_LDR_FMT.$(KBUILD_TARGET)))
     1974# Legacy:
     1975VBOX_LDR_FMT32         := $(firstword $(VBOX_LDR_FMT.$(KBUILD_TARGET).x86) $(VBOX_LDR_FMT))
     1976VBOX_LDR_FMT64         := $(firstword $(VBOX_LDR_FMT.$(KBUILD_TARGET).amd64) $(VBOX_LDR_FMT))
     1977if1of (os2, $(KBUILD_TARGET) $(KBUILD_HOST)) # This isn't too helpful
     1978 DONT_USE_YASM          = 1 # yasm doesn't implement omf yet.
     1979endif
     1980
     1981#
     1982# Assembler setup.
     1983#
     1984# This is a bit complicated since we have to support two different assmblers
     1985# (yasm/nasm) and possibly two different formats (32-bit/64-bit).
     1986#
     1987
     1988# First the assembler tool.
     1989VBOX_ASTOOL.x86     := $(if-expr defined(DONT_USE_YASM),NASM,YASM)
     1990VBOX_ASTOOL.amd64   := $(if-expr defined(DONT_USE_YASM),NASM,YASM)
     1991VBOX_ASTOOL.arm64   := $(VBOX_GCC_TOOL)
     1992VBOX_ASTOOL.sparc32 := $(VBOX_GCC_TOOL)
     1993VBOX_ASTOOL.sparc64 := $(VBOX_GCC_TOOL)
     1994# Spread the above OS-level defaults to os+architecture specifics:
     1995$(foreach os,$(VBOX_TARGET_OSES),$(foreach arch,$(VBOX_TARGET_ARCHES)\
     1996,$(eval VBOX_ASTOOL.$(os).$(arch) := $(VBOX_ASTOOL.$(arch)))))
     1997# os.arch overrides:
     1998VBOX_ASTOOL.os2.x86 := NASM
     1999
     2000# Assembler tool flag config.
     2001VBOX_YASM_ASFLAGS.elf.x86    = -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) -f elf32 -DASM_FORMAT_ELF -g dwarf2
     2002VBOX_YASM_ASFLAGS.elf.amd64  = -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) -f elf64 -DASM_FORMAT_ELF -g dwarf2
     2003VBOX_YASM_ASFLAGS.macho.x86  = -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) -f macho32 -DASM_FORMAT_MACHO -g dwarf2
     2004VBOX_YASM_ASFLAGS.macho.x64  = -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) -f macho64 -DASM_FORMAT_MACHO -g dwarf2
     2005VBOX_YASM_ASFLAGS.pe.x86     = -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) -f win32 -DASM_FORMAT_PE -g cv8
     2006VBOX_YASM_ASFLAGS.pe.amd64   = -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) -f win64 -DASM_FORMAT_PE -g cv8
     2007VBOX_YASM_ASFLAGS.lx.x86     = -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) -f obj -DASM_FORMAT_LX -g stubs
     2008$(foreach os,$(VBOX_TARGET_OSES),$(foreach arch,$(VBOX_TARGET_ARCHES) \
     2009,$(eval VBOX_YASM_ASFLAGS.$(os).$(arch) = $$(VBOX_YASM_ASFLAGS.$(VBOX_LDR_FMT.$(os).$(arch)).$(arch)))))
     2010
     2011VBOX_NASM_ASFLAGS.elf.x86   := -D__NASM__ -w+orphan-labels -f elf32 -DASM_FORMAT_ELF -F dwarf
     2012VBOX_NASM_ASFLAGS.elf.amd64 := -D__NASM__ -w+orphan-labels -f elf64 -DASM_FORMAT_ELF -F dwarf
     2013VBOX_NASM_ASFLAGS.macho.x86 := -D__NASM__ -w+orphan-labels -f macho32 -DASM_FORMAT_MACHO -F dwarf
     2014VBOX_NASM_ASFLAGS.macho.x64 := -D__NASM__ -w+orphan-labels -f macho64 -DASM_FORMAT_MACHO -F dwarf
     2015VBOX_NASM_ASFLAGS.pe.x86    := -D__NASM__ -w+orphan-labels -f win32 -DASM_FORMAT_PE -F cv8
     2016VBOX_NASM_ASFLAGS.pe.amd64  := -D__NASM__ -w+orphan-labels -f win64 -DASM_FORMAT_PE -F cv8
     2017VBOX_NASM_ASFLAGS.lx.x86    := -D__NASM__ -w+orphan-labels -f obj -DASM_FORMAT_LX -F stubs
     2018$(foreach os,$(VBOX_TARGET_OSES),$(foreach arch,$(VBOX_TARGET_ARCHES) \
     2019,$(eval VBOX_NASM_ASFLAGS.$(os).$(arch) = $$(VBOX_NASM_ASFLAGS.$(VBOX_LDR_FMT.$(os).$(arch)).$(arch)))))
     2020
     2021VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.elf.x86     := -DASM_FORMAT_ELF
     2022VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.elf.amd64   := -DASM_FORMAT_ELF
     2023VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.elf.arm64   := -DASM_FORMAT_ELF
     2024VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.elf.sparc32 := -DASM_FORMAT_ELF -m32
     2025VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.elf.sparc64 := -DASM_FORMAT_ELF -m64
     2026VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.macho.x86   := -DASM_FORMAT_MACHO
     2027VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.macho.amd64 := -DASM_FORMAT_MACHO
     2028VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.macho.arm64 := -DASM_FORMAT_MACHO
     2029VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.pe.x86      := -DASM_FORMAT_PE
     2030VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.pe.amd64    := -DASM_FORMAT_PE
     2031VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.pe.arm64    := -DASM_FORMAT_PE
     2032$(foreach os,$(VBOX_TARGET_OSES),$(foreach arch,$(VBOX_TARGET_ARCHES) \
     2033,$(eval VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.$(os).$(arch) = $$(VBOX_$(VBOX_GCC_TOOL)_ASFLAGS.$(VBOX_LDR_FMT.$(os).$(arch)).$(arch)))))
     2034
     2035# Combine the above ASFLAGS with the ASTOOL for each os+arch variation.
     2036$(foreach os,$(VBOX_TARGET_OSES),$(foreach arch,$(VBOX_TARGET_ARCHES) \
     2037,$(eval VBOX_ASFLAGS.$(os).$(arch) = $$(VBOX_$(VBOX_ASTOOL.$(os).$(arch))_ASFLAGS.$(os).$(arch)))))
     2038
     2039# Default target:
     2040VBOX_ASTOOL    = $(VBOX_ASTOOL.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
     2041VBOX_ASFLAGS   = $(VBOX_$(VBOX_ASTOOL.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))_ASFLAGS.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
     2042
     2043# Legacy targets:
     2044VBOX_ASTOOL32  = $(VBOX_ASTOOL.$(KBUILD_TARGET).x86)
     2045VBOX_ASFLAGS32 = $(VBOX_$(VBOX_ASTOOL.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))_ASFLAGS.$(KBUILD_TARGET).x86)
     2046VBOX_ASFLAGS64 = $(VBOX_$(VBOX_ASTOOL.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))_ASFLAGS.$(KBUILD_TARGET).amd64)
    20712047
    20722048
     
    54715447 #
    54725448 TEMPLATE_VBoxRc = VBox Raw-Mode Context
    5473  TEMPLATE_VBoxRc_ASTOOL             := $(VBOX_ASTOOL)
     5449 TEMPLATE_VBoxRc_ASTOOL             := $(VBOX_ASTOOL32)
    54745450 TEMPLATE_VBoxRc_ASFLAGS             = $(VBOX_ASFLAGS32)
    54755451 TEMPLATE_VBoxRc_DEFS                = IN_RC IPRT_NO_CRT RT_WITH_NOCRT_ALIASES $(ARCH_BITS_DEFS)
     
    56235599#
    56245600TEMPLATE_VBoxR0 = VBox Ring 0
    5625 TEMPLATE_VBoxR0_ASTOOL             := $(VBOX_ASTOOL)
    5626 TEMPLATE_VBoxR0_ASFLAGS             = $(VBOX_ASFLAGS)
     5601$(foreach arch,$(VBOX_TARGET_ARCHES)\
     5602,$(eval TEMPLATE_VBoxR0_ASTOOL.$(KBUILD_TARGET).$(arch) := $(VBOX_ASTOOL.$(KBUILD_TARGET).$(arch))))
     5603$(foreach arch,$(VBOX_TARGET_ARCHES)\
     5604,$(eval TEMPLATE_VBoxR0_ASFLAGS.$(KBUILD_TARGET).$(arch) = $$(VBOX_ASFLAGS.$(KBUILD_TARGET).$(arch))))
    56275605TEMPLATE_VBoxR0_DEFS                = IN_RING0 IN_RING0_AGNOSTIC IPRT_NO_CRT RT_WITH_NOCRT_ALIASES $(ARCH_BITS_DEFS)
    56285606TEMPLATE_VBoxR0_INCS                = $(PATH_ROOT)/include/iprt/nocrt
     
    58275805#
    58285806TEMPLATE_VBoxR0Drv                     = VBox SUPDRV Ring 0
    5829 TEMPLATE_VBoxR0Drv_ASTOOL             := $(VBOX_ASTOOL)
    5830 TEMPLATE_VBoxR0Drv_ASFLAGS             = $(VBOX_ASFLAGS)
     5807$(foreach arch,$(VBOX_TARGET_ARCHES)\
     5808,$(eval TEMPLATE_VBoxR0Drv_ASTOOL.$(KBUILD_TARGET).$(arch) := $(VBOX_ASTOOL.$(KBUILD_TARGET).$(arch))))
     5809$(foreach arch,$(VBOX_TARGET_ARCHES)\
     5810,$(eval TEMPLATE_VBoxR0Drv_ASFLAGS.$(KBUILD_TARGET).$(arch) = $$(VBOX_ASFLAGS.$(KBUILD_TARGET).$(arch))))
    58315811TEMPLATE_VBoxR0Drv_DEFS                = IN_RING0 IN_RT_R0 $(ARCH_BITS_DEFS)
    58325812TEMPLATE_VBoxR0Drv_USES               += dtrace
     
    59935973  TEMPLATE_VBoxR0Drv_LDTOOL = OPENWATCOM-WL
    59945974  TEMPLATE_VBoxR0Drv_ARTOOL = OPENWATCOM
     5975  ## @todo see if we can eliminate this one...
    59955976  TEMPLATE_VBoxR0Drv_ASTOOL = NASM
    59965977  TEMPLATE_VBoxR0Drv_ASFLAGS = -fobj -DASM_FORMAT_OMF -D__NASM__ -w+orphan-labels #-g -F borland
     
    63856366#
    63866367TEMPLATE_VBoxR3Exe                     = VBox Ring 3 Exe
    6387 TEMPLATE_VBoxR3Exe_ASTOOL             := $(VBOX_ASTOOL)
    6388 TEMPLATE_VBoxR3Exe_ASFLAGS.x86         = $(VBOX_ASFLAGS32)
    6389 TEMPLATE_VBoxR3Exe_ASFLAGS.sparc32     = $(VBOX_ASFLAGS32)
    6390 TEMPLATE_VBoxR3Exe_ASFLAGS.amd64       = $(VBOX_ASFLAGS64)
    6391 TEMPLATE_VBoxR3Exe_ASFLAGS.arm64       = $(VBOX_ASFLAGS64)
    6392 TEMPLATE_VBoxR3Exe_ASFLAGS.sparc64     = $(VBOX_ASFLAGS64)
     6368$(foreach arch,$(VBOX_TARGET_ARCHES)\
     6369,$(eval TEMPLATE_VBoxR3Exe_ASTOOL.$(KBUILD_TARGET).$(arch) := $(VBOX_ASTOOL.$(KBUILD_TARGET).$(arch))))
     6370$(foreach arch,$(VBOX_TARGET_ARCHES)\
     6371,$(eval TEMPLATE_VBoxR3Exe_ASFLAGS.$(KBUILD_TARGET).$(arch) = $$(VBOX_ASFLAGS.$(KBUILD_TARGET).$(arch))))
    63936372TEMPLATE_VBoxR3Exe_DEFS                = IN_RING3 $(VBOX_GC_ARCH_BITS_DEFS)
    63946373TEMPLATE_VBoxR3Exe_DEFS.x86            = HC_ARCH_BITS=32
     
    73767355#
    73777356TEMPLATE_VBoxMainExe         = VBox Main Executable
    7378 TEMPLATE_VBoxMainExe_ASTOOL             := $(VBOX_ASTOOL)
    7379 TEMPLATE_VBoxMainExe_ASFLAGS             = $(VBOX_ASFLAGS)
     7357
     7358$(foreach arch,$(VBOX_TARGET_ARCHES)\
     7359,$(eval TEMPLATE_VBoxMainExe_ASTOOL.$(KBUILD_TARGET).$(arch) := $(VBOX_ASTOOL.$(KBUILD_TARGET).$(arch))))
     7360$(foreach arch,$(VBOX_TARGET_ARCHES)\
     7361,$(eval TEMPLATE_VBoxMainExe_ASFLAGS.$(KBUILD_TARGET).$(arch) = $$(VBOX_ASFLAGS.$(KBUILD_TARGET).$(arch))))
     7362
    73807363TEMPLATE_VBoxMainExe_DEFS                = IN_RING3 UNICODE NDEBUG=1
    73817364TEMPLATE_VBoxMainExe_DEFS.win            = _UNICODE
     
    83818364TEMPLATE_VBoxBldProg_DEFS               := IN_RING3 LOG_DISABLED IN_BLD_PROG
    83828365TEMPLATE_VBoxBldProg_DEFS.win           := _CRT_SECURE_NO_DEPRECATE
    8383 ifeq ($(KBUILD_TARGET),$(KBUILD_HOST))
    8384  TEMPLATE_VBoxBldProg_ASTOOL            := $(VBOX_ASTOOL)
    8385  TEMPLATE_VBoxBldProg_ASFLAGS.x86       := $(VBOX_ASFLAGS32)
    8386  TEMPLATE_VBoxBldProg_ASFLAGS.arm32     := $(VBOX_ASFLAGS32)
    8387  TEMPLATE_VBoxBldProg_ASFLAGS.sparc32   := $(VBOX_ASFLAGS32)
    8388  TEMPLATE_VBoxBldProg_ASFLAGS.amd64     := $(VBOX_ASFLAGS64)
    8389  TEMPLATE_VBoxBldProg_ASFLAGS.arm64     := $(VBOX_ASFLAGS64)
    8390  TEMPLATE_VBoxBldProg_ASFLAGS.sparc64   := $(VBOX_ASFLAGS64)
    8391 else if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
    8392  TEMPLATE_VBoxBldProg_ASTOOL            := YASM
    8393  TEMPLATE_VBoxBldProg_ASFLAGS           := -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit)
    8394  if1of ($(KBUILD_HOST), win)
    8395   TEMPLATE_VBoxBldProg_ASFLAGS          += -g cv8 -DASM_FORMAT_ELF
    8396   TEMPLATE_VBoxBldProg_ASFLAGS.x86      := -f win32
    8397   TEMPLATE_VBoxBldProg_ASFLAGS.amd64    := -f win64
    8398  else if1of ($(KBUILD_HOST), darwin)
    8399   TEMPLATE_VBoxBldProg_ASFLAGS          += -DASM_FORMAT_MACHO
    8400   TEMPLATE_VBoxBldProg_ASFLAGS.x86      := -f macho32
    8401   TEMPLATE_VBoxBldProg_ASFLAGS.amd64    := -f macho64
    8402  else
    8403   TEMPLATE_VBoxBldProg_ASFLAGS          += -g dwarf2 -DASM_FORMAT_ELF
    8404   TEMPLATE_VBoxBldProg_ASFLAGS.x86      := -f elf32
    8405   TEMPLATE_VBoxBldProg_ASFLAGS.amd64    := -f elf64
    8406  endif
    8407 endif
     8366TEMPLATE_VBoxBldProg_ASTOOL.$(KBUILD_HOST).$(KBUILD_HOST_ARCH) := $(VBOX_ASTOOL.$(KBUILD_HOST).$(KBUILD_HOST_ARCH))
     8367TEMPLATE_VBoxBldProg_ASFLAGS.$(KBUILD_HOST).$(KBUILD_HOST_ARCH) = $(VBOX_ASFLAGS.$(KBUILD_HOST).$(KBUILD_HOST_ARCH))
    84088368ifeq ($(KBUILD_HOST),win)
    84098369 TEMPLATE_VBoxBldProg_TOOL              := $(VBOX_VCC_TOOL_STEM)$(toupper $(KBUILD_HOST_ARCH))
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