[42148] | 1 | # $Id: Config.kmk 100658 2023-07-20 07:43:52Z vboxsync $
|
---|
| 2 | ## @file
|
---|
| 3 | # kBuild Configuration file for the Devices.
|
---|
| 4 | #
|
---|
| 5 |
|
---|
| 6 | #
|
---|
[98103] | 7 | # Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
---|
[42148] | 8 | #
|
---|
[96407] | 9 | # This file is part of VirtualBox base platform packages, as
|
---|
| 10 | # available from https://www.virtualbox.org.
|
---|
[42148] | 11 | #
|
---|
[96407] | 12 | # This program is free software; you can redistribute it and/or
|
---|
| 13 | # modify it under the terms of the GNU General Public License
|
---|
| 14 | # as published by the Free Software Foundation, in version 3 of the
|
---|
| 15 | # License.
|
---|
| 16 | #
|
---|
| 17 | # This program is distributed in the hope that it will be useful, but
|
---|
| 18 | # WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
| 20 | # General Public License for more details.
|
---|
| 21 | #
|
---|
| 22 | # You should have received a copy of the GNU General Public License
|
---|
| 23 | # along with this program; if not, see <https://www.gnu.org/licenses>.
|
---|
| 24 | #
|
---|
| 25 | # SPDX-License-Identifier: GPL-3.0-only
|
---|
| 26 | #
|
---|
[42148] | 27 |
|
---|
| 28 | VBOX_DEVICES_CONFIG_KMK_INCLUDED = 1
|
---|
| 29 |
|
---|
| 30 | # Include the top-level configure file.
|
---|
| 31 | ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
|
---|
| 32 | include $(PATH_ROOT)/Config.kmk
|
---|
| 33 | endif
|
---|
| 34 |
|
---|
[80299] | 35 | # We need the VMM/Config.kmk one for the VMM_COMMON_DEFS variable.
|
---|
| 36 | ifndef VBOX_VMM_CONFIG_KMK_INCLUDED
|
---|
| 37 | include $(PATH_ROOT)/src/VBox/VMM/Config.kmk
|
---|
| 38 | endif
|
---|
| 39 |
|
---|
[60422] | 40 | VBOX_PATH_DEVICES_SRC := $(PATH_ROOT)/src/VBox/Devices
|
---|
| 41 |
|
---|
[86905] | 42 | VBOX_PATH_VMSVGA_DEVICE_INC := $(VBOX_PATH_DEVICES_SRC)/Graphics/vmsvga_include
|
---|
| 43 |
|
---|
[42148] | 44 | #
|
---|
[42357] | 45 | # VBoxBios - Template for building 16-bit BIOS code.
|
---|
[42148] | 46 | #
|
---|
[97729] | 47 | # Compiler flags:
|
---|
| 48 | # -q Quiet
|
---|
| 49 | # -0 Only use 8086 instruction.
|
---|
| 50 | # -wx Max warning level
|
---|
| 51 | # -zl Drop default library info.
|
---|
| 52 | # -zu The stack segment (SS) is not same as DGROUP.
|
---|
| 53 | # -s Drop stack overflow checks.
|
---|
| 54 | # -oafs Optimize: a=relaxed aliasing, f=stack frames, s=optimize for size.
|
---|
| 55 | # -ms Memory model: small
|
---|
| 56 | # -hc Generate codeview debug info.
|
---|
| 57 | # -d1+ Only do line numbers and a bit more, keeping things easily parsable for VBoxDbg.
|
---|
| 58 | #
|
---|
[63376] | 59 | # Disabled linker warnings:
|
---|
[100658] | 60 | # W1014: stack segment not found
|
---|
| 61 | # W1023: no starting address found, using xxx
|
---|
| 62 | # W2120: application too large to run under DOS
|
---|
[63376] | 63 | # W1080: file F:\tinderbox\win-rel\out\win.amd64\release\obj\VBoxVgaBios386\vberom.obj is a 32-bit object file
|
---|
[42148] | 64 | TEMPLATE_VBoxBios = ROM
|
---|
[42363] | 65 | TEMPLATE_VBoxBios_INSTTYPE = none
|
---|
[42357] | 66 | TEMPLATE_VBoxBios_TOOL = OPENWATCOM-16
|
---|
| 67 | TEMPLATE_VBoxBios_LDTOOL = OPENWATCOM-WL
|
---|
| 68 | TEMPLATE_VBoxBios_ASTOOL = OPENWATCOM-16
|
---|
| 69 | TEMPLATE_VBoxBios_BLD_TRG = os-agnostic
|
---|
[42148] | 70 | TEMPLATE_VBoxBios_BLD_TRG_ARCH = x86
|
---|
[42357] | 71 | TEMPLATE_VBoxBios_BINSUFF = .rom
|
---|
[92287] | 72 | TEMPLATE_VBoxBios_CDEFS = IN_RING0
|
---|
| 73 | TEMPLATE_VBoxBios_CXXDEFS = IN_RING0
|
---|
[60422] | 74 | TEMPLATE_VBoxBios_INCS = . $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode
|
---|
| 75 | TEMPLATE_VBoxBios_ASFLAGS = -q -wx -d1 -0
|
---|
| 76 | TEMPLATE_VBoxBios_CFLAGS = -q -0 -wx -zl -zu -s -oafs -ms -hc -d1+
|
---|
[42357] | 77 | TEMPLATE_VBoxBios_CXXFLAGS = $(TEMPLATE_VBoxBios_CFLAGS)
|
---|
| 78 | TEMPLATE_VBoxBios_DEPS = $(VBOX_VERSION_HEADER)
|
---|
[98410] | 79 | TEMPLATE_VBoxBios_LDFLAGS = system dos \
|
---|
[46935] | 80 | debug codeview all \
|
---|
[42148] | 81 | option quiet, nofarcalls, map, verbose, statics, symfile \
|
---|
[63376] | 82 | disable 1014, 1023, 2120, 1080
|
---|
[60422] | 83 | TEMPLATE_VBoxBios_LNK_DEPS = $(VBOX_BIOSSUMS) $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode/biosorg_check.sed
|
---|
[42148] | 84 | TEMPLATE_VBoxBios_POST_CMDS = \
|
---|
[98410] | 85 | $(QUIET)$(SED_EXT) -n -f $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode/biosorg_check.sed $(outbase).map \
|
---|
[60422] | 86 | && $(MV_EXT) -f $(out) $(out).tmp \
|
---|
[100658] | 87 | && $(VBOX_BIOSSUMS) -s $(out).tmp $(out) \
|
---|
[98410] | 88 | && $(RM_EXT) -f $(out).tmp
|
---|
[42357] | 89 |
|
---|
| 90 | #
|
---|
| 91 | # VBoxBios - Template for building 32-bit BIOS code.
|
---|
| 92 | #
|
---|
| 93 | TEMPLATE_VBoxBios32Lib = ROM
|
---|
| 94 | TEMPLATE_VBoxBios32Lib_EXTENDS = VBoxBios
|
---|
[42363] | 95 | TEMPLATE_VBoxBios32Lib_INSTTYPE = none
|
---|
[42357] | 96 | TEMPLATE_VBoxBios32Lib_TOOL = OPENWATCOM
|
---|
| 97 | TEMPLATE_VBoxBios32Lib_ASTOOL = OPENWATCOM
|
---|
[46938] | 98 | TEMPLATE_VBoxBios32Lib_CFLAGS = -q -wx -zu -s -oas -ms -nt=BIOS32 -nd=BIOS32 -hc
|
---|
| 99 | ifeq ($(KBUILD_TARGET),darwin) # The Open Watcom version we use on darwin generate trouble for the link in -d1+ mode; -d2 doesn't work anywhere.
|
---|
[98410] | 100 | TEMPLATE_VBoxBios32Lib_CFLAGS += -d1
|
---|
[46938] | 101 | else
|
---|
[98410] | 102 | TEMPLATE_VBoxBios32Lib_CFLAGS += -d1+
|
---|
[46938] | 103 | endif
|
---|
[42357] | 104 | TEMPLATE_VBoxBios32Lib_CXXFLAGS = $(TEMPLATE_VBoxBios32_CFLAGS)
|
---|
| 105 | TEMPLATE_VBoxBios32Lib_LNK_DEPS = $(NO_SUCH_VARIABLE)
|
---|
| 106 | TEMPLATE_VBoxBios32Lib_POST_CMDS = $(NO_SUCH_VARIABLE)
|
---|
| 107 |
|
---|
[71721] | 108 |
|
---|
| 109 | #
|
---|
| 110 | # Audio configuration.
|
---|
| 111 | # This must live here because of testcase/
|
---|
| 112 | #
|
---|
| 113 | VBOX_AUDIO_DEFS :=
|
---|
| 114 | if 0 # Not stable yet.
|
---|
| 115 | # Enable microphone-in support for HDA. Otherwise only line-in is supported.
|
---|
| 116 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_HDA_MIC_IN
|
---|
| 117 |
|
---|
| 118 | # Enable interleavig streams support for HDA. Needed for 5.1 surround support.
|
---|
| 119 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_HDA_INTERLEAVING_STREAMS_SUPPORT
|
---|
| 120 |
|
---|
| 121 | # Enable 5.1 surround support (Front, Center/LFE, Rear) for HDA.
|
---|
| 122 | # Without this, only stereo output (Front) is supported.
|
---|
| 123 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_HDA_51_SURROUND
|
---|
| 124 | endif
|
---|
| 125 |
|
---|
| 126 | # Enable backend-independent device enumeration support.
|
---|
| 127 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_ENUM
|
---|
| 128 |
|
---|
| 129 | # Enable backend callback support.
|
---|
| 130 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_CALLBACKS
|
---|
| 131 |
|
---|
| 132 | ifdef VBOX_WITH_HP_HDA
|
---|
| 133 | VBOX_AUDIO_DEFS += VBOX_WITH_HP_HDA
|
---|
| 134 | endif
|
---|
| 135 | ifdef VBOX_WITH_INTEL_HDA
|
---|
| 136 | VBOX_AUDIO_DEFS += VBOX_WITH_INTEL_HDA
|
---|
| 137 | endif
|
---|
| 138 | ifdef VBOX_WITH_NVIDIA_HDA
|
---|
| 139 | VBOX_AUDIO_DEFS += VBOX_WITH_NVIDIA_HDA
|
---|
| 140 | endif
|
---|
| 141 |
|
---|
| 142 | # Not yet enabled: Callbacks for the device emulation to let the backends
|
---|
| 143 | # tell the emulation when and how to process data.
|
---|
| 144 | if 0
|
---|
| 145 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_SB16_CALLBACKS
|
---|
| 146 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_AC97_CALLBACKS
|
---|
| 147 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_HDA_CALLBACKS
|
---|
| 148 | endif
|
---|
| 149 |
|
---|