VirtualBox

source: vbox/trunk/src/VBox/Devices/Config.kmk@ 103068

Last change on this file since 103068 was 100658, checked in by vboxsync, 12 months ago

BIOS: Reworked BIOS build to have a common core and add 286/386 specific modules (see bugref:6549).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.3 KB
Line 
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
28VBOX_DEVICES_CONFIG_KMK_INCLUDED = 1
29
30# Include the top-level configure file.
31ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
32 include $(PATH_ROOT)/Config.kmk
33endif
34
35# We need the VMM/Config.kmk one for the VMM_COMMON_DEFS variable.
36ifndef VBOX_VMM_CONFIG_KMK_INCLUDED
37 include $(PATH_ROOT)/src/VBox/VMM/Config.kmk
38endif
39
40VBOX_PATH_DEVICES_SRC := $(PATH_ROOT)/src/VBox/Devices
41
42VBOX_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
64TEMPLATE_VBoxBios = ROM
65TEMPLATE_VBoxBios_INSTTYPE = none
66TEMPLATE_VBoxBios_TOOL = OPENWATCOM-16
67TEMPLATE_VBoxBios_LDTOOL = OPENWATCOM-WL
68TEMPLATE_VBoxBios_ASTOOL = OPENWATCOM-16
69TEMPLATE_VBoxBios_BLD_TRG = os-agnostic
70TEMPLATE_VBoxBios_BLD_TRG_ARCH = x86
71TEMPLATE_VBoxBios_BINSUFF = .rom
72TEMPLATE_VBoxBios_CDEFS = IN_RING0
73TEMPLATE_VBoxBios_CXXDEFS = IN_RING0
74TEMPLATE_VBoxBios_INCS = . $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode
75TEMPLATE_VBoxBios_ASFLAGS = -q -wx -d1 -0
76TEMPLATE_VBoxBios_CFLAGS = -q -0 -wx -zl -zu -s -oafs -ms -hc -d1+
77TEMPLATE_VBoxBios_CXXFLAGS = $(TEMPLATE_VBoxBios_CFLAGS)
78TEMPLATE_VBoxBios_DEPS = $(VBOX_VERSION_HEADER)
79TEMPLATE_VBoxBios_LDFLAGS = system dos \
80 debug codeview all \
81 option quiet, nofarcalls, map, verbose, statics, symfile \
82 disable 1014, 1023, 2120, 1080
83TEMPLATE_VBoxBios_LNK_DEPS = $(VBOX_BIOSSUMS) $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode/biosorg_check.sed
84TEMPLATE_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#
93TEMPLATE_VBoxBios32Lib = ROM
94TEMPLATE_VBoxBios32Lib_EXTENDS = VBoxBios
95TEMPLATE_VBoxBios32Lib_INSTTYPE = none
96TEMPLATE_VBoxBios32Lib_TOOL = OPENWATCOM
97TEMPLATE_VBoxBios32Lib_ASTOOL = OPENWATCOM
98TEMPLATE_VBoxBios32Lib_CFLAGS = -q -wx -zu -s -oas -ms -nt=BIOS32 -nd=BIOS32 -hc
99ifeq ($(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
101else
102 TEMPLATE_VBoxBios32Lib_CFLAGS += -d1+
103endif
104TEMPLATE_VBoxBios32Lib_CXXFLAGS = $(TEMPLATE_VBoxBios32_CFLAGS)
105TEMPLATE_VBoxBios32Lib_LNK_DEPS = $(NO_SUCH_VARIABLE)
106TEMPLATE_VBoxBios32Lib_POST_CMDS = $(NO_SUCH_VARIABLE)
107
108
109#
110# Audio configuration.
111# This must live here because of testcase/
112#
113VBOX_AUDIO_DEFS :=
114if 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
124endif
125
126# Enable backend-independent device enumeration support.
127VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_ENUM
128
129# Enable backend callback support.
130VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_CALLBACKS
131
132ifdef VBOX_WITH_HP_HDA
133 VBOX_AUDIO_DEFS += VBOX_WITH_HP_HDA
134endif
135ifdef VBOX_WITH_INTEL_HDA
136 VBOX_AUDIO_DEFS += VBOX_WITH_INTEL_HDA
137endif
138ifdef VBOX_WITH_NVIDIA_HDA
139 VBOX_AUDIO_DEFS += VBOX_WITH_NVIDIA_HDA
140endif
141
142# Not yet enabled: Callbacks for the device emulation to let the backends
143# tell the emulation when and how to process data.
144if 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
148endif
149
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use