1 | # $Id: Config.kmk 100658 2023-07-20 07:43:52Z vboxsync $
|
---|
2 | ## @file
|
---|
3 | # kBuild Configuration file for the Devices.
|
---|
4 | #
|
---|
5 |
|
---|
6 | #
|
---|
7 | # Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
---|
8 | #
|
---|
9 | # This file is part of VirtualBox base platform packages, as
|
---|
10 | # available from https://www.virtualbox.org.
|
---|
11 | #
|
---|
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 | #
|
---|
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 |
|
---|
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 |
|
---|
40 | VBOX_PATH_DEVICES_SRC := $(PATH_ROOT)/src/VBox/Devices
|
---|
41 |
|
---|
42 | VBOX_PATH_VMSVGA_DEVICE_INC := $(VBOX_PATH_DEVICES_SRC)/Graphics/vmsvga_include
|
---|
43 |
|
---|
44 | #
|
---|
45 | # VBoxBios - Template for building 16-bit BIOS code.
|
---|
46 | #
|
---|
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 | #
|
---|
59 | # Disabled linker warnings:
|
---|
60 | # W1014: stack segment not found
|
---|
61 | # W1023: no starting address found, using xxx
|
---|
62 | # W2120: application too large to run under DOS
|
---|
63 | # W1080: file F:\tinderbox\win-rel\out\win.amd64\release\obj\VBoxVgaBios386\vberom.obj is a 32-bit object file
|
---|
64 | TEMPLATE_VBoxBios = ROM
|
---|
65 | TEMPLATE_VBoxBios_INSTTYPE = none
|
---|
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
|
---|
70 | TEMPLATE_VBoxBios_BLD_TRG_ARCH = x86
|
---|
71 | TEMPLATE_VBoxBios_BINSUFF = .rom
|
---|
72 | TEMPLATE_VBoxBios_CDEFS = IN_RING0
|
---|
73 | TEMPLATE_VBoxBios_CXXDEFS = IN_RING0
|
---|
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+
|
---|
77 | TEMPLATE_VBoxBios_CXXFLAGS = $(TEMPLATE_VBoxBios_CFLAGS)
|
---|
78 | TEMPLATE_VBoxBios_DEPS = $(VBOX_VERSION_HEADER)
|
---|
79 | TEMPLATE_VBoxBios_LDFLAGS = system dos \
|
---|
80 | debug codeview all \
|
---|
81 | option quiet, nofarcalls, map, verbose, statics, symfile \
|
---|
82 | disable 1014, 1023, 2120, 1080
|
---|
83 | TEMPLATE_VBoxBios_LNK_DEPS = $(VBOX_BIOSSUMS) $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode/biosorg_check.sed
|
---|
84 | TEMPLATE_VBoxBios_POST_CMDS = \
|
---|
85 | $(QUIET)$(SED_EXT) -n -f $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode/biosorg_check.sed $(outbase).map \
|
---|
86 | && $(MV_EXT) -f $(out) $(out).tmp \
|
---|
87 | && $(VBOX_BIOSSUMS) -s $(out).tmp $(out) \
|
---|
88 | && $(RM_EXT) -f $(out).tmp
|
---|
89 |
|
---|
90 | #
|
---|
91 | # VBoxBios - Template for building 32-bit BIOS code.
|
---|
92 | #
|
---|
93 | TEMPLATE_VBoxBios32Lib = ROM
|
---|
94 | TEMPLATE_VBoxBios32Lib_EXTENDS = VBoxBios
|
---|
95 | TEMPLATE_VBoxBios32Lib_INSTTYPE = none
|
---|
96 | TEMPLATE_VBoxBios32Lib_TOOL = OPENWATCOM
|
---|
97 | TEMPLATE_VBoxBios32Lib_ASTOOL = OPENWATCOM
|
---|
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.
|
---|
100 | TEMPLATE_VBoxBios32Lib_CFLAGS += -d1
|
---|
101 | else
|
---|
102 | TEMPLATE_VBoxBios32Lib_CFLAGS += -d1+
|
---|
103 | endif
|
---|
104 | TEMPLATE_VBoxBios32Lib_CXXFLAGS = $(TEMPLATE_VBoxBios32_CFLAGS)
|
---|
105 | TEMPLATE_VBoxBios32Lib_LNK_DEPS = $(NO_SUCH_VARIABLE)
|
---|
106 | TEMPLATE_VBoxBios32Lib_POST_CMDS = $(NO_SUCH_VARIABLE)
|
---|
107 |
|
---|
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 |
|
---|