VirtualBox

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

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

Additions/x11: Switch to randproto-1.5.0, bugref:8515

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