1 | # $Id: Config.kmk 86024 2020-09-03 14:37:31Z vboxsync $
|
---|
2 | ## @file
|
---|
3 | # kBuild Configuration file for the Devices.
|
---|
4 | #
|
---|
5 |
|
---|
6 | #
|
---|
7 | # Copyright (C) 2006-2020 Oracle Corporation
|
---|
8 | #
|
---|
9 | # This file is part of VirtualBox Open Source Edition (OSE), as
|
---|
10 | # available from http://www.virtualbox.org. This file is free software;
|
---|
11 | # you can redistribute it and/or modify it under the terms of the GNU
|
---|
12 | # General Public License (GPL) as published by the Free Software
|
---|
13 | # Foundation, in version 2 as it comes in the "COPYING" file of the
|
---|
14 | # VirtualBox OSE distribution. VirtualBox OSE is distributed in the
|
---|
15 | # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
|
---|
16 | #
|
---|
17 |
|
---|
18 | VBOX_DEVICES_CONFIG_KMK_INCLUDED = 1
|
---|
19 |
|
---|
20 | # Include the top-level configure file.
|
---|
21 | ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
|
---|
22 | include $(PATH_ROOT)/Config.kmk
|
---|
23 | endif
|
---|
24 |
|
---|
25 | # We need the VMM/Config.kmk one for the VMM_COMMON_DEFS variable.
|
---|
26 | ifndef VBOX_VMM_CONFIG_KMK_INCLUDED
|
---|
27 | include $(PATH_ROOT)/src/VBox/VMM/Config.kmk
|
---|
28 | endif
|
---|
29 |
|
---|
30 | # We need the Additions/3D/Config.kmk for the VBOX_PATH_VMSVGA_INC variable.
|
---|
31 | ifndef VBOX_MESA3D_CONFIG_KMK_INCLUDED
|
---|
32 | include $(PATH_ROOT)/src/VBox/Additions/3D/Config.kmk
|
---|
33 | endif
|
---|
34 |
|
---|
35 | VBOX_PATH_DEVICES_SRC := $(PATH_ROOT)/src/VBox/Devices
|
---|
36 |
|
---|
37 | #
|
---|
38 | # VBoxBios - Template for building 16-bit BIOS code.
|
---|
39 | #
|
---|
40 | # Disabled linker warnings:
|
---|
41 | # W1014: ?
|
---|
42 | # W1023: ?
|
---|
43 | # W2120: ?
|
---|
44 | # W1080: file F:\tinderbox\win-rel\out\win.amd64\release\obj\VBoxVgaBios386\vberom.obj is a 32-bit object file
|
---|
45 | TEMPLATE_VBoxBios = ROM
|
---|
46 | TEMPLATE_VBoxBios_INSTTYPE = none
|
---|
47 | TEMPLATE_VBoxBios_TOOL = OPENWATCOM-16
|
---|
48 | TEMPLATE_VBoxBios_LDTOOL = OPENWATCOM-WL
|
---|
49 | TEMPLATE_VBoxBios_ASTOOL = OPENWATCOM-16
|
---|
50 | TEMPLATE_VBoxBios_BLD_TRG = os-agnostic
|
---|
51 | TEMPLATE_VBoxBios_BLD_TRG_ARCH = x86
|
---|
52 | TEMPLATE_VBoxBios_BINSUFF = .rom
|
---|
53 | TEMPLATE_VBoxBios_INCS = . $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode
|
---|
54 | TEMPLATE_VBoxBios_ASFLAGS = -q -wx -d1 -0
|
---|
55 | TEMPLATE_VBoxBios_CFLAGS = -q -0 -wx -zl -zu -s -oafs -ms -hc -d1+
|
---|
56 | TEMPLATE_VBoxBios_CXXFLAGS = $(TEMPLATE_VBoxBios_CFLAGS)
|
---|
57 | TEMPLATE_VBoxBios_DEPS = $(VBOX_VERSION_HEADER)
|
---|
58 | TEMPLATE_VBoxBios_LDFLAGS = system dos \
|
---|
59 | debug codeview all \
|
---|
60 | option quiet, nofarcalls, map, verbose, statics, symfile \
|
---|
61 | disable 1014, 1023, 2120, 1080
|
---|
62 | TEMPLATE_VBoxBios_LNK_DEPS = $(VBOX_BIOSSUMS) $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode/biosorg_check.sed
|
---|
63 | TEMPLATE_VBoxBios_POST_CMDS = \
|
---|
64 | $(QUIET)$(SED_EXT) -n -f $(VBOX_PATH_DEVICES_SRC)/BiosCommonCode/biosorg_check.sed $(outbase).map \
|
---|
65 | && $(MV_EXT) -f $(out) $(out).tmp \
|
---|
66 | && $(VBOX_BIOSSUMS) $(out).tmp $(out) \
|
---|
67 | && $(RM_EXT) -f $(out).tmp \
|
---|
68 |
|
---|
69 | #
|
---|
70 | # VBoxBios - Template for building 32-bit BIOS code.
|
---|
71 | #
|
---|
72 | TEMPLATE_VBoxBios32Lib = ROM
|
---|
73 | TEMPLATE_VBoxBios32Lib_EXTENDS = VBoxBios
|
---|
74 | TEMPLATE_VBoxBios32Lib_INSTTYPE = none
|
---|
75 | TEMPLATE_VBoxBios32Lib_TOOL = OPENWATCOM
|
---|
76 | TEMPLATE_VBoxBios32Lib_ASTOOL = OPENWATCOM
|
---|
77 | TEMPLATE_VBoxBios32Lib_CFLAGS = -q -wx -zu -s -oas -ms -nt=BIOS32 -nd=BIOS32 -hc
|
---|
78 | 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.
|
---|
79 | TEMPLATE_VBoxBios32Lib_CFLAGS += -d1
|
---|
80 | else
|
---|
81 | TEMPLATE_VBoxBios32Lib_CFLAGS += -d1+
|
---|
82 | endif
|
---|
83 | TEMPLATE_VBoxBios32Lib_CXXFLAGS = $(TEMPLATE_VBoxBios32_CFLAGS)
|
---|
84 | TEMPLATE_VBoxBios32Lib_LNK_DEPS = $(NO_SUCH_VARIABLE)
|
---|
85 | TEMPLATE_VBoxBios32Lib_POST_CMDS = $(NO_SUCH_VARIABLE)
|
---|
86 |
|
---|
87 |
|
---|
88 | #
|
---|
89 | # Audio configuration.
|
---|
90 | # This must live here because of testcase/
|
---|
91 | #
|
---|
92 | VBOX_AUDIO_DEFS :=
|
---|
93 | if 0 # Not stable yet.
|
---|
94 | # Enable microphone-in support for HDA. Otherwise only line-in is supported.
|
---|
95 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_HDA_MIC_IN
|
---|
96 |
|
---|
97 | # Enable interleavig streams support for HDA. Needed for 5.1 surround support.
|
---|
98 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_HDA_INTERLEAVING_STREAMS_SUPPORT
|
---|
99 |
|
---|
100 | # Enable 5.1 surround support (Front, Center/LFE, Rear) for HDA.
|
---|
101 | # Without this, only stereo output (Front) is supported.
|
---|
102 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_HDA_51_SURROUND
|
---|
103 | endif
|
---|
104 |
|
---|
105 | # Enable backend-independent device enumeration support.
|
---|
106 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_ENUM
|
---|
107 |
|
---|
108 | # Enable backend callback support.
|
---|
109 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_CALLBACKS
|
---|
110 |
|
---|
111 | # Disable one-time audio stream initialization at device creation (VM startup) instead
|
---|
112 | # of creating the stream when needed at some later point in time.
|
---|
113 | #
|
---|
114 | # This was the default behavior ever since.
|
---|
115 | #
|
---|
116 | # We now go with the new behavior by default now.
|
---|
117 | #VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_SB16_ONETIME_INIT
|
---|
118 |
|
---|
119 | ifdef VBOX_WITH_HP_HDA
|
---|
120 | VBOX_AUDIO_DEFS += VBOX_WITH_HP_HDA
|
---|
121 | endif
|
---|
122 | ifdef VBOX_WITH_INTEL_HDA
|
---|
123 | VBOX_AUDIO_DEFS += VBOX_WITH_INTEL_HDA
|
---|
124 | endif
|
---|
125 | ifdef VBOX_WITH_NVIDIA_HDA
|
---|
126 | VBOX_AUDIO_DEFS += VBOX_WITH_NVIDIA_HDA
|
---|
127 | endif
|
---|
128 |
|
---|
129 | #
|
---|
130 | # Enables asynchronous audio data handling
|
---|
131 | # to speed up the actual DMA data routines and keeping up
|
---|
132 | # audio processing out of EMT as much as possible.
|
---|
133 | #
|
---|
134 | # Disabled for AC'97 for now.
|
---|
135 | #VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_AC97_ASYNC_IO
|
---|
136 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_HDA_ASYNC_IO
|
---|
137 |
|
---|
138 | # Not yet enabled: Callbacks for the device emulation to let the backends
|
---|
139 | # tell the emulation when and how to process data.
|
---|
140 | if 0
|
---|
141 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_SB16_CALLBACKS
|
---|
142 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_AC97_CALLBACKS
|
---|
143 | VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_HDA_CALLBACKS
|
---|
144 | endif
|
---|
145 |
|
---|