VirtualBox

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

Last change on this file since 66694 was 66694, checked in by vboxsync, 8 years ago

bugref:8524: Additions/linux: play nicely with distribution-installed Additions
Split up HGSMIBase.cpp into two files: HGSMIGuest.cpp which contains code needed for guest-to-host communication and HGSMIHost.cpp which contains code for host-to-guest communication. Currently only the Windows Additions use the second.

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