VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk@ 96407

Last change on this file since 96407 was 96407, checked in by vboxsync, 2 years ago

scm copyright and license note update

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 17.0 KB
Line 
1# $Id: Makefile.kmk 96407 2022-08-22 17:43:14Z vboxsync $
2## @file
3# Sub-Makefile for the VBox Linux Additions X.org graphics driver.
4#
5
6#
7# Copyright (C) 2006-2022 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
28SUB_DEPTH = ../../../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31vboxvideo_70_DEFS := \
32 IN_MODULE XORG_7X RENDER=1 IN_RT_STATIC X_BYTE_ORDER=X_LITTLE_ENDIAN
33ifeq ($(KBUILD_TARGET),solaris) # don't use .solaris or anything here.
34 vboxvideo_70_DEFS += __EXTENSIONS__ ## @todo Why this?
35endif
36vboxvideo_13_DEFS := $(vboxvideo_70_DEFS) VBOXVIDEO_13
37vboxvideo_15_DEFS := \
38 $(vboxvideo_13_DEFS) NO_ANSIC PCIACCESS XSERVER_LIBPCIACCESS _XORG_SERVER_H_ _DIX_CONFIG_H_
39vboxvideo_xorg_INCS = \
40 $(VBOX_PATH_X11_ROOT)/fontsproto-2.1.3 \
41 $(VBOX_PATH_X11_ROOT)/inputproto-1.9.99.902 \
42 $(VBOX_PATH_X11_ROOT)/kbproto-1.0.7 \
43 $(VBOX_PATH_X11_ROOT)/libpciaccess-0.10.8 \
44 $(VBOX_PATH_X11_ROOT)/pixman-0.40.0 \
45 $(VBOX_PATH_X11_ROOT)/randrproto-1.5.0 \
46 $(VBOX_PATH_X11_ROOT)/renderproto-0.11.1 \
47 $(VBOX_PATH_X11_ROOT)/xextproto-7.1.1 \
48 $(VBOX_PATH_X11_ROOT)/xproto-7.0.31 \
49 $(VBOX_GRAPHICS_INCS)
50vboxvideo_override_INCLUDES = \
51 -include $(PATH_ROOT)/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h \
52 -include $(PATH_ROOT)/src/VBox/Additions/x11/vboxvideo/HGSMIMemAlloc.h
53
54LIBRARIES += vboxvideo_drv_lib
55
56#
57# vboxvideo_drv_lib
58#
59vboxvideo_drv_lib_TEMPLATE = VBOXGUESTR3XORGMOD
60# We are relying in the include guard in the two headers below to stop the more
61# generic ones from being included. Not very nice, I know.
62vboxvideo_drv_lib_CFLAGS += $(vboxvideo_override_INCLUDES)
63vboxvideo_drv_lib_CXXFLAGS += $(vboxvideo_override_INCLUDES)
64ifeq ($(KBUILD_TARGET),solaris) # don't use .solaris or anything here. Do we need this? I don't want to find out.
65 vboxvideo_drv_lib_CFLAGS += -D_XPG6 -Wno-shadow # Use XPG6 until we have moved the C++ bits into a library.
66endif
67vboxvideo_drv_lib_SOURCES = \
68 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
69 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBuffers.cpp \
70 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp \
71 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp \
72 $(PATH_ROOT)/src/VBox/GuestHost/HGSMI/HGSMICommon.cpp \
73 $(PATH_ROOT)/src/VBox/Additions/x11/vboxvideo/hgsmimemalloc.c
74# $(VBOX_PATH_X11_ROOT)/xorg-server-1.18.0 is for in[blw] and out[blw], xproto
75# for _X_[UN]LIKELY.
76vboxvideo_drv_lib_INCS = \
77 $(VBOX_PATH_X11_ROOT)/xorg-server-1.18.0 \
78 $(VBOX_PATH_X11_ROOT)/xproto-7.0.18 \
79 $(VBOX_PATH_X11_ROOT)/pixman-0.40.0 \
80 $(PATH_ROOT)/src/VBox/Runtime/include \
81 $(VBOX_GRAPHICS_INCS)
82vboxvideo_drv_lib_INST = $(INST_LIB)
83
84#
85# vboxvideo_drv
86#
87if1of ($(KBUILD_TARGET), linux)
88 SYSMODS += vboxvideo_drv
89endif # target linux
90vboxvideo_drv_TEMPLATE = VBOXGUESTR3XF86MOD
91vboxvideo_drv_CFLAGS += $(vboxvideo_override_INCLUDES)
92vboxvideo_drv_CFLAGS += -Wno-shadow # Avoid MBs of warnings in X11 and OpenGL headers (solaris mostly).
93vboxvideo_drv_CXXFLAGS += $(vboxvideo_override_INCLUDES)
94vboxvideo_drv_DEFS.linux = linux
95vboxvideo_drv_DEFS.x86 = __i386__
96# This one has to be defined when building server code on systems where
97# unsigned long is 64bits
98vboxvideo_drv_DEFS.amd64 += _XSERVER64
99vboxvideo_drv_DEFS = \
100 _POSIX_C_SOURCE=199309L _POSIX_SOURCE _XOPEN_SOURCE _DEFAULT_SOURCE \
101 _BSD_SOURCE _SVID_SOURCE _GNU_SOURCE SHAPE XINPUT XKB LBX XAPPGROUP \
102 XCSECURITY TOGCUP XF86BIGFONT DPMSExtension PIXPRIV PANORAMIX RENDER \
103 GCCUSESGAS AVOID_GLYPHBLT PIXPRIV SINGLEDEPTH XFreeXDGA XvExtension \
104 XFree86LOADER XFree86Server XF86VIDMODE XvMCExtension SMART_SCHEDULE \
105 BUILDDEBUG X_BYTE_ORDER=X_LITTLE_ENDIAN DNDEBUG FUNCPROTO=15 NARROWPROTO \
106 IN_MODULE XFree86Module IN_XF86_MODULE IN_RT_STATIC
107vboxvideo_drv_INCS = \
108 $(VBOX_PATH_X11_ROOT)/XFree86-4.3 \
109 $(VBOX_PATH_X11_ROOT)/XFree86-4.3/X11 \
110 $(VBOX_PATH_X11_ROOT)/XFree86-4.3/X11/extensions \
111 $(VBOX_PATH_X11_ROOT)/XFree86-4.3/X11/fonts \
112 $(VBOX_PATH_X11_ROOT)/XFree86-4.3/Xserver
113vboxvideo_drv_INCS += \
114 $(PATH_ROOT)/src/VBox/Runtime/include \
115 $(VBOX_GRAPHICS_INCS)
116vboxvideo_drv_SOURCES = \
117 getmode.c \
118 pointer.c \
119 setmode.c \
120 vboxvideo.c \
121 vbva.c \
122 $(vboxvideo_drv_lib_SOURCES)
123 # Any global symbols in the driver object files will be added to XFree86's
124 # symbol table, which can cause problems if we e.g. define a symbol in two
125 # modules.
126 vboxvideo_drv_POST_CMDS = \
127 objcopy --keep-global-symbol vboxvideoModuleData $(out) $(out)-objcopy$$(NLTAB) \
128 $(MV) -f $(out)-objcopy $(out)
129
130#
131# vboxvideo_drv_70
132#
133# Remark: The other X.org drivers below are derived from this one. So, to make
134# that as simple as possible we do ifeq/if1of test here and extends the
135# base keywords instead of using .solaris or .linux.
136# Also it is *important* to use := and not = when deriving a property.
137#
138DLLS += vboxvideo_drv_70
139vboxvideo_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
140vboxvideo_drv_70_DEFS = $(vboxvideo_70_DEFS) XORG_VERSION_CURRENT=70000000
141vboxvideo_drv_70_CFLAGS += $(vboxvideo_override_INCLUDES)
142ifeq ($(KBUILD_TARGET),solaris) # don't use .solaris or anything here.
143 vboxvideo_drv_70_CFLAGS += -D_XPG6 -Wno-shadow # Use XPG6 until we have moved the C++ bits into a library.
144endif
145vboxvideo_drv_70_INCS = \
146 $(vboxvideo_xorg_INCS) \
147 $(VBOX_PATH_X11_ROOT)/xorg-server-1.0.1
148vboxvideo_drv_70_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
149vboxvideo_drv_70_SOURCES = $(filter-out $(vboxvideo_drv_lib_SOURCES),$(vboxvideo_drv_SOURCES))
150vboxvideo_drv_70_LIBS = $(PATH_STAGE_LIB)/vboxvideo_drv_lib$(VBOX_SUFF_LIB)
151
152
153#
154# vboxvideo_drv_71
155#
156DLLS += vboxvideo_drv_71
157vboxvideo_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD
158vboxvideo_drv_71_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
159vboxvideo_drv_71_DEFS := $(vboxvideo_70_DEFS) XORG_VERSION_CURRENT=70100000
160vboxvideo_drv_71_INCS = \
161 $(vboxvideo_xorg_INCS) \
162 $(VBOX_PATH_X11_ROOT)/xorg-server-1.1.0
163vboxvideo_drv_71_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
164vboxvideo_drv_71_SOURCES = $(vboxvideo_drv_70_SOURCES)
165vboxvideo_drv_71_LIBS = $(vboxvideo_drv_70_LIBS)
166
167
168#
169# vboxvideo_drv_13
170#
171DLLS += vboxvideo_drv_13
172vboxvideo_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD
173vboxvideo_drv_13_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
174vboxvideo_drv_13_DEFS := $(vboxvideo_13_DEFS) XORG_VERSION_CURRENT=10300000
175vboxvideo_drv_13_INCS = \
176 $(vboxvideo_xorg_INCS) \
177 $(VBOX_PATH_X11_ROOT)/xorg-server-1.3.0.0
178vboxvideo_drv_13_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
179vboxvideo_drv_13_SOURCES = $(vboxvideo_drv_70_SOURCES) edid.c
180vboxvideo_drv_13_LIBS += $(vboxvideo_drv_70_LIBS)
181
182
183#
184# vboxvideo_drv_14
185#
186DLLS += vboxvideo_drv_14
187vboxvideo_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
188vboxvideo_drv_14_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
189vboxvideo_drv_14_DEFS := $(vboxvideo_13_DEFS) XORG_VERSION_CURRENT=10400000
190vboxvideo_drv_14_INCS = \
191 $(vboxvideo_xorg_INCS) \
192 $(VBOX_PATH_X11_ROOT)/xorg-server-1.4.2
193vboxvideo_drv_14_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
194vboxvideo_drv_14_SOURCES = $(vboxvideo_drv_13_SOURCES)
195vboxvideo_drv_14_LIBS += $(vboxvideo_drv_70_LIBS)
196
197
198#
199# vboxvideo_drv_15
200#
201DLLS += vboxvideo_drv_15
202vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
203vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
204vboxvideo_drv_15_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10503000
205vboxvideo_drv_15_INCS = \
206 $(vboxvideo_xorg_INCS) \
207 $(VBOX_PATH_X11_ROOT)/xorg-server-1.5.3
208vboxvideo_drv_15_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
209vboxvideo_drv_15_SOURCES = $(vboxvideo_drv_13_SOURCES)
210vboxvideo_drv_15_LIBS += $(vboxvideo_drv_70_LIBS)
211
212
213#
214# vboxvideo_drv_16
215#
216DLLS += vboxvideo_drv_16
217vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
218vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
219vboxvideo_drv_16_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10600000
220vboxvideo_drv_16_INCS = \
221 $(vboxvideo_xorg_INCS) \
222 $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.5 \
223vboxvideo_drv_16_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
224vboxvideo_drv_16_SOURCES := $(vboxvideo_drv_15_SOURCES)
225vboxvideo_drv_16_LIBS += $(vboxvideo_drv_70_LIBS)
226
227
228#
229# vboxvideo_drv_17
230#
231DLLS += vboxvideo_drv_17
232vboxvideo_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
233vboxvideo_drv_17_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
234vboxvideo_drv_17_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10699000
235vboxvideo_drv_17_INCS = \
236 $(vboxvideo_xorg_INCS) \
237 $(VBOX_PATH_X11_ROOT)/xorg-server-1.7.7
238vboxvideo_drv_17_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
239vboxvideo_drv_17_SOURCES := $(vboxvideo_drv_13_SOURCES)
240vboxvideo_drv_17_LIBS += $(vboxvideo_drv_70_LIBS)
241
242
243#
244# vboxvideo_drv_18
245#
246DLLS += vboxvideo_drv_18
247vboxvideo_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD
248vboxvideo_drv_18_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
249vboxvideo_drv_18_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10800000
250vboxvideo_drv_18_INCS = \
251 $(vboxvideo_xorg_INCS) \
252 $(VBOX_PATH_X11_ROOT)/xorg-server-1.8.0
253vboxvideo_drv_18_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
254vboxvideo_drv_18_SOURCES := $(vboxvideo_drv_17_SOURCES)
255vboxvideo_drv_18_LIBS += $(vboxvideo_drv_70_LIBS)
256
257
258#
259# vboxvideo_drv_19
260#
261DLLS += vboxvideo_drv_19
262vboxvideo_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD
263vboxvideo_drv_19_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
264vboxvideo_drv_19_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10900000
265vboxvideo_drv_19_INCS = \
266 $(vboxvideo_xorg_INCS) \
267 $(VBOX_PATH_X11_ROOT)/xorg-server-1.9.0
268vboxvideo_drv_19_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
269vboxvideo_drv_19_SOURCES := $(vboxvideo_drv_17_SOURCES)
270vboxvideo_drv_19_LIBS += $(vboxvideo_drv_70_LIBS)
271
272
273#
274# vboxvideo_drv_110
275#
276DLLS += vboxvideo_drv_110
277vboxvideo_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD
278vboxvideo_drv_110_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
279vboxvideo_drv_110_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11000000
280vboxvideo_drv_110_INCS = \
281 $(vboxvideo_xorg_INCS) \
282 $(VBOX_PATH_X11_ROOT)/xorg-server-1.10.0
283vboxvideo_drv_110_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
284vboxvideo_drv_110_SOURCES := $(vboxvideo_drv_17_SOURCES)
285vboxvideo_drv_110_LIBS += $(vboxvideo_drv_70_LIBS)
286
287
288#
289# vboxvideo_drv_111
290#
291DLLS += vboxvideo_drv_111
292vboxvideo_drv_111_TEMPLATE = VBOXGUESTR3XORGMOD
293vboxvideo_drv_111_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
294vboxvideo_drv_111_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11100000
295vboxvideo_drv_111_INCS = \
296 $(vboxvideo_xorg_INCS) \
297 $(VBOX_PATH_X11_ROOT)/xorg-server-1.11.0
298vboxvideo_drv_111_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
299vboxvideo_drv_111_SOURCES := $(vboxvideo_drv_17_SOURCES)
300vboxvideo_drv_111_LIBS += $(vboxvideo_drv_70_LIBS)
301
302
303#
304# vboxvideo_drv_112
305#
306DLLS += vboxvideo_drv_112
307vboxvideo_drv_112_TEMPLATE = VBOXGUESTR3XORGMOD
308vboxvideo_drv_112_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
309vboxvideo_drv_112_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11200000
310vboxvideo_drv_112_INCS = \
311 $(vboxvideo_xorg_INCS) \
312 $(VBOX_PATH_X11_ROOT)/xorg-server-1.12.0
313vboxvideo_drv_112_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
314vboxvideo_drv_112_SOURCES := $(vboxvideo_drv_17_SOURCES)
315vboxvideo_drv_112_LIBS += $(vboxvideo_drv_70_LIBS)
316
317
318#
319# vboxvideo_drv_113
320#
321DLLS += vboxvideo_drv_113
322vboxvideo_drv_113_TEMPLATE = VBOXGUESTR3XORGMOD
323vboxvideo_drv_113_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
324vboxvideo_drv_113_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11300000
325vboxvideo_drv_113_INCS = \
326 $(vboxvideo_xorg_INCS) \
327 $(VBOX_PATH_X11_ROOT)/xorg-server-1.13.0
328vboxvideo_drv_113_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
329vboxvideo_drv_113_SOURCES := $(vboxvideo_drv_17_SOURCES)
330vboxvideo_drv_113_LIBS += $(vboxvideo_drv_70_LIBS)
331
332
333#
334# vboxvideo_drv_114
335#
336DLLS += vboxvideo_drv_114
337vboxvideo_drv_114_TEMPLATE = VBOXGUESTR3XORGMOD
338vboxvideo_drv_114_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
339vboxvideo_drv_114_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11400000
340vboxvideo_drv_114_INCS = \
341 $(vboxvideo_xorg_INCS) \
342 $(VBOX_PATH_X11_ROOT)/xorg-server-1.14.0
343vboxvideo_drv_114_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
344vboxvideo_drv_114_SOURCES := $(vboxvideo_drv_17_SOURCES)
345vboxvideo_drv_114_LIBS += $(vboxvideo_drv_70_LIBS)
346
347
348#
349# vboxvideo_drv_115
350#
351DLLS += vboxvideo_drv_115
352vboxvideo_drv_115_TEMPLATE = VBOXGUESTR3XORGMOD
353vboxvideo_drv_115_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
354vboxvideo_drv_115_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11500000
355vboxvideo_drv_115_INCS = \
356 $(vboxvideo_xorg_INCS) \
357 $(VBOX_PATH_X11_ROOT)/xorg-server-1.15.0
358vboxvideo_drv_115_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
359vboxvideo_drv_115_SOURCES := $(vboxvideo_drv_17_SOURCES)
360vboxvideo_drv_115_LIBS += $(vboxvideo_drv_70_LIBS)
361
362
363#
364# vboxvideo_drv_116
365#
366DLLS += vboxvideo_drv_116
367vboxvideo_drv_116_TEMPLATE = VBOXGUESTR3XORGMOD
368vboxvideo_drv_116_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
369vboxvideo_drv_116_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11600000
370vboxvideo_drv_116_INCS = \
371 $(vboxvideo_xorg_INCS) \
372 $(VBOX_PATH_X11_ROOT)/xorg-server-1.16.0
373vboxvideo_drv_116_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
374vboxvideo_drv_116_SOURCES := $(vboxvideo_drv_17_SOURCES)
375vboxvideo_drv_116_LIBS += $(vboxvideo_drv_70_LIBS)
376
377
378#
379# vboxvideo_drv_117
380#
381DLLS += vboxvideo_drv_117
382vboxvideo_drv_117_TEMPLATE = VBOXGUESTR3XORGMOD
383vboxvideo_drv_117_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
384vboxvideo_drv_117_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11700000
385vboxvideo_drv_117_INCS = \
386 $(vboxvideo_xorg_INCS) \
387 $(VBOX_PATH_X11_ROOT)/xorg-server-1.17.1
388vboxvideo_drv_117_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
389vboxvideo_drv_117_SOURCES := $(vboxvideo_drv_17_SOURCES)
390vboxvideo_drv_117_LIBS += $(vboxvideo_drv_70_LIBS)
391
392
393#
394# vboxvideo_drv_118
395#
396DLLS += vboxvideo_drv_118
397vboxvideo_drv_118_TEMPLATE = VBOXGUESTR3XORGMOD
398vboxvideo_drv_118_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
399vboxvideo_drv_118_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11800000
400vboxvideo_drv_118_INCS = \
401 $(vboxvideo_xorg_INCS) \
402 $(VBOX_PATH_X11_ROOT)/xorg-server-1.18.0
403vboxvideo_drv_118_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
404vboxvideo_drv_118_SOURCES := $(vboxvideo_drv_17_SOURCES)
405vboxvideo_drv_118_LIBS += $(vboxvideo_drv_70_LIBS)
406
407ifdef VBOX_USE_SYSTEM_XORG_HEADERS
408 # Build using local X.Org headers. We assume X.Org Server 1.7 or later.
409 DLLS := $(filter-out vboxvideo_drv_%,$(DLLS)) vboxvideo_drv_system
410 SYSMODS := $(filter-out vboxvideo_drv%,$(SYSMODS))
411 vboxvideo_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD
412 vboxvideo_drv_system_CFLAGS := \
413 $(vboxvideo_drv_70_CFLAGS) -include xorg-server.h
414 vboxvideo_drv_system_DEFS := $(filter-out _XORG_SERVER_H_ _DIX_CONFIG_H_, $(vboxvideo_15_DEFS))
415 vboxvideo_drv_system_INCS += \
416 $(PATH_ROOT)/src/VBox/Runtime/include \
417 $(VBOX_GRAPHICS_INCS) \
418 /usr/include/xorg \
419 /usr/include/pixman-1
420 vboxvideo_drv_system_SOURCES := $(vboxvideo_drv_17_SOURCES)
421endif
422
423
424# Check the undefined symbols in the X.Org modules against lists of allowed
425# symbols. Not very elegant, but it will catch problems early.
426
427ifdef VBOX_WITH_TESTCASES
428# ifndef VBOX_ONLY_ADDITIONS
429 ifndef VBOX_USE_SYSTEM_XORG_HEADERS
430 if1of ($(KBUILD_TARGET),linux solaris)
431 ifeq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
432 ifndef VBOX_ONLY_SDK
433 VBOXVIDEO_SRC_PATH := $(PATH_SUB_CURRENT)
434
435 ifeq ($(KBUILD_TARGET),linux)
436 TESTING += $(vboxvideo_drv_0_OUTDIR)/tstvboxvideo68.run
437 OTHERS += $(vboxvideo_drv_0_OUTDIR)/tstvboxvideo68.run
438$$(vboxvideo_drv_0_OUTDIR)/tstvboxvideo68.run: $$(vboxvideo_drv_1_STAGE_TARGET)
439 $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
440 $(QUIET)$(ASH) $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
441 $(vboxvideo_drv_1_STAGE_TARGET) --static $(VBOXVIDEO_SRC_PATH)/../undefined_xfree86 $(VBOXVIDEO_SRC_PATH)/../undefined_xfree86_modules
442 $(QUIET)$(APPEND) -t "$@" "done"
443 endif
444
445##
446# Using the extra expansion to replace $(ver) before eval, thus everything
447# else needs escaped dollars.
448 define def_vboxvideo_test
449 TESTING += $$(vboxvideo_drv$(ver)_0_OUTDIR)/tstvboxvideo$(ver).run
450 OTHERS += $$(vboxvideo_drv$(ver)_0_OUTDIR)/tstvboxvideo$(ver).run
451 $$$$(vboxvideo_drv$(ver)_0_OUTDIR)/tstvboxvideo$(ver).run: $$$$(vboxvideo_drv$(ver)_1_STAGE_TARGET)
452 $$(QUIET)$$(call MSG_L1,Checking for unresolved symbols in $$<)
453 $$(QUIET)$$(ASH) $$(PATH_ROOT)/src/bldprogs/checkUndefined.sh $$(KBUILD_HOST) \
454 $$(vboxvideo_drv$(ver)_1_STAGE_TARGET) $$(VBOXVIDEO_SRC_PATH)/../undefined_xfree86 $(VBOXVIDEO_SRC_PATH)/../undefined_xfree86_modules $$(VBOXVIDEO_SRC_PATH)/../undefined_xorg
455 $$(QUIET)$$(APPEND) -t "$$@" "done"
456 endef
457
458 $(foreach ver, _70 _71 _13 _14 _15 _16 _17 _18 _19 _110 _111 _112 _113 _114 _115 _116 _117 _118, $(eval $(def_vboxvideo_test)))
459
460 endif # ! VBOX_ONLY_SDK
461 endif # eq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
462 endif # 1of ($(KBUILD_TARGET),linux solaris)
463 endif # ! VBOX_USE_SYSTEM_XORG_HEADERS
464# endif # ! VBOX_ONLY_ADDITIONS
465endif # VBOX_WITH_TESTCASES
466
467include $(FILE_KBUILD_SUB_FOOTER)
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette