VirtualBox

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

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

bugref:3810: X11 Guest Additions maintenance: remove Mesa 8.0.4 header files and references to them in X.Org vboxvideo as they are not needed.

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