VirtualBox

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

Last change on this file since 94377 was 93115, checked in by vboxsync, 3 years ago

scm --update-copyright-year

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