VirtualBox

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

Last change on this file since 25240 was 24479, checked in by vboxsync, 15 years ago

Linux addiitons: re-enable DRI for Linux, Solaris

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.0 KB
Line 
1# $Id: Makefile.kmk 24479 2009-11-09 09:39:38Z vboxsync $
2## @file
3# Sub-Makefile for the VBox Linux Additions X.org graphics driver.
4#
5
6#
7# Copyright (C) 2006-2007 Sun Microsystems, Inc.
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# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18# Clara, CA 95054 USA or visit http://www.sun.com if you need
19# additional information or have any questions.
20#
21
22SUB_DEPTH = ../../../../..
23include $(KBUILD_PATH)/subheader.kmk
24
25#
26# vboxvideo_drv
27#
28if1of ($(KBUILD_TARGET), linux)
29 SYSMODS += vboxvideo_drv
30 vboxvideo_drv_TEMPLATE = VBOXGUESTR3XF86MOD
31 vboxvideo_drv_DEFS.linux = linux
32 vboxvideo_drv_DEFS.x86 = __i386__
33 vboxvideo_drv_DEFS = \
34 _POSIX_C_SOURCE=199309L _POSIX_SOURCE _XOPEN_SOURCE \
35 _BSD_SOURCE _SVID_SOURCE _GNU_SOURCE SHAPE XINPUT XKB LBX XAPPGROUP \
36 XCSECURITY TOGCUP XF86BIGFONT DPMSExtension PIXPRIV PANORAMIX RENDER \
37 GCCUSESGAS AVOID_GLYPHBLT PIXPRIV SINGLEDEPTH XFreeXDGA XvExtension \
38 XFree86LOADER XFree86Server XF86VIDMODE XvMCExtension SMART_SCHEDULE \
39 BUILDDEBUG X_BYTE_ORDER=X_LITTLE_ENDIAN DNDEBUG FUNCPROTO=15 NARROWPROTO \
40 IN_MODULE XFree86Module
41 vboxvideo_drv_CFLAGS.linux := \
42 -Wno-conversion -Wno-unused-parameter $(VBOX_GCC_Wno-variadic-macros)
43 ARGB_CURSORS=1
44 ifdef ARGB_CURSORS
45 vboxvideo_drv_INCS = \
46 $(VBOX_PATH_X11_XFREE_4_3)/include \
47 $(VBOX_PATH_X11_XFREE_4_3)/include/X11 \
48 $(VBOX_PATH_X11_XFREE_4_3)/include/X11/extensions \
49 $(VBOX_PATH_X11_XFREE_4_3)/include/fonts \
50 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/afb \
51 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/include \
52 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/fb \
53 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86 \
54 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/common \
55 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/ddc \
56 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/int10 \
57 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/i2c \
58 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support \
59 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/vbe \
60 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support/bus \
61 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/rac \
62 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/ramdac \
63 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/shadowfb \
64 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/vgahw \
65 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/xf1bpp \
66 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/xf24_32bpp \
67 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/xf4bpp \
68 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/mfb \
69 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/mi \
70 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/miext/shadow \
71 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/render \
72 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/Xext
73 else
74 vboxvideo_drv_INCS = \
75 $(VBOX_PATH_X11_XFREE_4_2)/exports/include/X11 \
76 $(VBOX_PATH_X11_XFREE_4_2)/include \
77 $(VBOX_PATH_X11_XFREE_4_2)/include/extensions \
78 $(VBOX_PATH_X11_XFREE_4_2)/include/fonts \
79 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/afb \
80 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/include \
81 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/fb \
82 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/common \
83 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/ddc \
84 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/int10 \
85 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/i2c \
86 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/os-support \
87 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/os-support/bus \
88 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/os-support/vbe \
89 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/rac \
90 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/ramdac \
91 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/shadowfb \
92 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/vgahw \
93 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/xf1bpp \
94 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/xf24_32bpp \
95 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/hw/xfree86/xf4bpp \
96 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/mfb \
97 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/mi \
98 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/miext/shadow \
99 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/render \
100 $(VBOX_PATH_X11_XFREE_4_2)/programs/Xserver/Xext
101 endif
102 vboxvideo_drv_SOURCES = \
103 vboxvideo_68.c \
104 vboxutils_68.c
105endif # target linux
106
107
108#
109# vboxvideo_drv_70
110#
111# Remark: The other X.org drivers below are derived from this one. So, to make
112# that as simple as possible we do ifeq/if1of test here and extends the
113# base keywords instead of using .solaris or .linux.
114# Also it is *important* to use := and not = when deriving a properity.
115#
116DLLS += vboxvideo_drv_70
117vboxvideo_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
118if1of ($(KBUILD_TARGET), linux)
119 vboxvideo_drv_70_CFLAGS += \
120 -Wno-conversion -Wno-unused-parameter $(VBOX_GCC_Wno-variadic-macros) # template?
121endif
122vboxvideo_drv_70_DEFS := \
123 XFree86Server IN_MODULE XFree86Module XFree86LOADER XORG_7X RENDER=1
124ifeq ($(KBUILD_TARGET),solaris) # don't use .solaris or anything here.
125 vboxvideo_drv_70_DEFS += _XPG6 __EXTENSIONS__
126endif
127vboxvideo_drv_70_INCS = \
128 $(VBOX_PATH_X11_XORG_7_0) \
129 $(VBOX_PATH_X11_XORG_7_0)/X11 \
130 $(VBOX_PATH_X11_XORG_7_0)/xorg
131vboxvideo_drv_70_SOURCES = \
132 vboxvideo_70.c \
133 vboxutils.c
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_drv_70_DEFS)
143vboxvideo_drv_71_INCS = \
144 $(VBOX_PATH_X11_XORG_7_1) \
145 $(VBOX_PATH_X11_XORG_7_1)/X11 \
146 $(VBOX_PATH_X11_XORG_7_1)/xorg
147vboxvideo_drv_71_SOURCES = \
148 vboxvideo_70.c \
149 vboxutils.c
150
151
152#
153# vboxvideo_drv_13
154#
155DLLS += vboxvideo_drv_13
156vboxvideo_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD
157vboxvideo_drv_13_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
158vboxvideo_drv_13_DEFS := $(vboxvideo_drv_70_DEFS)
159vboxvideo_drv_13_INCS = \
160 $(VBOX_PATH_X11_XORG_1_3) \
161 $(VBOX_PATH_X11_XORG_1_3)/X11 \
162 $(VBOX_PATH_X11_XORG_1_3)/xorg \
163 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
164 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
165 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0
166vboxvideo_drv_13_SOURCES = \
167 vboxvideo_13.c \
168 vboxutils.c
169
170
171#
172# vboxvideo_drv_14
173#
174# This uses the same code (vboxvideo_13.c) as 1.3, but is built
175# for 1.4 as well in case there should be any relevant header changes.
176#
177DLLS += vboxvideo_drv_14
178vboxvideo_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
179vboxvideo_drv_14_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
180vboxvideo_drv_14_DEFS := $(vboxvideo_drv_70_DEFS)
181vboxvideo_drv_14_INCS = \
182 $(VBOX_PATH_X11_XORG_1_4) \
183 $(VBOX_PATH_X11_XORG_1_4)/X11 \
184 $(VBOX_PATH_X11_XORG_1_4)/xorg \
185 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
186 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
187 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0
188vboxvideo_drv_14_SOURCES = \
189 vboxvideo_13.c \
190 vboxutils.c
191
192
193#
194# vboxvideo_drv_15
195#
196DLLS += vboxvideo_drv_15
197vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
198vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
199vboxvideo_drv_15_DEFS := $(vboxvideo_drv_70_DEFS) NO_ANSIC PCIACCESS \
200 VBOX_NO_LOW_COLOUR
201if1of ($(KBUILD_TARGET), linux solaris)
202 vboxvideo_drv_15_DEFS += VBOX_DRI
203endif
204vboxvideo_drv_15_INCS = \
205 $(VBOX_PATH_X11_XORG_1_5) \
206 $(VBOX_PATH_X11_XORG_1_5)/X11 \
207 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
208 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
209 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0 \
210 $(VBOX_PATH_X11_ROOT)/xorg-server-1.5.3
211vboxvideo_drv_15_SOURCES = \
212 vboxvideo_13.c \
213 vboxutils.c
214if1of ($(KBUILD_TARGET), linux solaris)
215 vboxvideo_drv_15_SOURCES += \
216 vboxvideo_dri.c
217endif
218
219
220#
221# vboxvideo_drv_16
222#
223DLLS += vboxvideo_drv_16
224vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
225vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
226vboxvideo_drv_16_DEFS := $(vboxvideo_drv_15_DEFS)
227vboxvideo_drv_16_INCS = \
228 $(VBOX_PATH_X11_XORG_1_6) \
229 $(VBOX_PATH_X11_XORG_1_6)/X11 \
230 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
231 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
232 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0 \
233 $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0 \
234 $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
235vboxvideo_drv_16_SOURCES := $(vboxvideo_drv_15_SOURCES)
236
237
238#
239# vboxvideo_drv_17
240#
241DLLS += vboxvideo_drv_17
242vboxvideo_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
243vboxvideo_drv_17_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
244vboxvideo_drv_17_DEFS := $(vboxvideo_drv_15_DEFS)
245## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
246vboxvideo_drv_17_INCS = \
247 $(VBOX_PATH_X11_ROOT)/fontsproto-2.1.0 \
248 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
249 $(VBOX_PATH_X11_ROOT)/inputproto-1.9.99.902 \
250 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
251 $(VBOX_PATH_X11_ROOT)/libpciaccess-0.10.8 \
252 $(VBOX_PATH_X11_ROOT)/pixman-0.16.0 \
253 $(VBOX_PATH_X11_ROOT)/randrproto-1.3.0 \
254 $(VBOX_PATH_X11_ROOT)/renderproto-0.11 \
255 $(VBOX_PATH_X11_ROOT)/xextproto-7.1.1 \
256 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0 \
257 $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.99-20090831 \
258 $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local \
259 $(VBOX_PATH_X11_ROOT)/xproto-7.0.15
260vboxvideo_drv_17_SOURCES := $(vboxvideo_drv_15_SOURCES)
261
262
263# Check the undefined symbols in the X.Org modules against lists of allowed
264# symbols. Not very elegant, but it will catch problems early.
265ifdef VBOX_WITH_TESTCASES
266# ifndef VBOX_ONLY_ADDITIONS
267 if1of ($(KBUILD_TARGET),linux solaris)
268 ifeq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
269 ifndef VBOX_ONLY_SDK
270 OUR_PATH_VBOXVIDEO=$(PATH_ROOT)/src/VBox/Additions/x11/vboxvideo
271
272 ifeq ($(KBUILD_TARGET),linux)
273 TESTING += $(PATH_vboxvideo_drv)/tstvboxvideo68.run
274 OTHERS += $(PATH_vboxvideo_drv)/tstvboxvideo68.run
275$$(PATH_vboxvideo_drv)/tstvboxvideo68.run: $$(INSTARGET_vboxvideo_drv)
276 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
277 $(INSTARGET_vboxvideo_drv) $(OUR_PATH_VBOXVIDEO)/undefined_68 --static
278 $(QUIET)$(APPEND) -t "$@" "done"
279 endif
280
281 TESTING += $(PATH_vboxvideo_drv_70)/tstvboxvideo70.run
282 OTHERS += $(PATH_vboxvideo_drv_70)/tstvboxvideo70.run
283$$(PATH_vboxvideo_drv_70)/tstvboxvideo70.run: $$(INSTARGET_vboxvideo_drv_70)
284 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
285 $(INSTARGET_vboxvideo_drv_70) $(OUR_PATH_VBOXVIDEO)/undefined_70
286 $(QUIET)$(APPEND) -t "$@" "done"
287
288 TESTING += $(PATH_vboxvideo_drv_71)/tstvboxvideo71.run
289 OTHERS += $(PATH_vboxvideo_drv_71)/tstvboxvideo71.run
290$$(PATH_vboxvideo_drv_71)/tstvboxvideo71.run: $$(INSTARGET_vboxvideo_drv_71)
291 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
292 $(INSTARGET_vboxvideo_drv_71) $(OUR_PATH_VBOXVIDEO)/undefined_70
293 $(QUIET)$(APPEND) -t "$@" "done"
294
295 TESTING += $(PATH_vboxvideo_drv_13)/tstvboxvideo13.run
296 OTHERS += $(PATH_vboxvideo_drv_13)/tstvboxvideo13.run
297$$(PATH_vboxvideo_drv_13)/tstvboxvideo13.run: $$(INSTARGET_vboxvideo_drv_13)
298 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
299 $(INSTARGET_vboxvideo_drv_13) $(OUR_PATH_VBOXVIDEO)/undefined_13
300 $(QUIET)$(APPEND) -t "$@" "done"
301
302 TESTING += $(PATH_vboxvideo_drv_14)/tstvboxvideo14.run
303 OTHERS += $(PATH_vboxvideo_drv_14)/tstvboxvideo14.run
304$$(PATH_vboxvideo_drv_14)/tstvboxvideo14.run: $$(INSTARGET_vboxvideo_drv_14)
305 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
306 $(INSTARGET_vboxvideo_drv_14) $(OUR_PATH_VBOXVIDEO)/undefined_13
307 $(QUIET)$(APPEND) -t "$@" "done"
308
309 TESTING += $(PATH_vboxvideo_drv_15)/tstvboxvideo15.run
310 OTHERS += $(PATH_vboxvideo_drv_15)/tstvboxvideo15.run
311$$(PATH_vboxvideo_drv_15)/tstvboxvideo15.run: $$(INSTARGET_vboxvideo_drv_15)
312 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
313 $(INSTARGET_vboxvideo_drv_15) $(OUR_PATH_VBOXVIDEO)/undefined_13
314 $(QUIET)$(APPEND) -t "$@" "done"
315
316 TESTING += $(PATH_vboxvideo_drv_16)/tstvboxvideo16.run
317 OTHERS += $(PATH_vboxvideo_drv_16)/tstvboxvideo16.run
318$$(PATH_vboxvideo_drv_16)/tstvboxvideo16.run: $$(INSTARGET_vboxvideo_drv_16)
319 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
320 $(INSTARGET_vboxvideo_drv_16) $(OUR_PATH_VBOXVIDEO)/undefined_13
321 $(QUIET)$(APPEND) -t "$@" "done"
322
323 TESTING += $(PATH_vboxvideo_drv_17)/tstvboxvideo17.run
324 OTHERS += $(PATH_vboxvideo_drv_17)/tstvboxvideo17.run
325$$(PATH_vboxvideo_drv_17)/tstvboxvideo17.run: $$(INSTARGET_vboxvideo_drv_17)
326 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
327 $(INSTARGET_vboxvideo_drv_17) $(OUR_PATH_VBOXVIDEO)/undefined_13
328 $(QUIET)$(APPEND) -t "$@" "done"
329
330 endif # ! VBOX_ONLY_SDK
331 endif # eq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
332 endif # eq ($(KBUILD_TARGET),linux)
333# endif # ! VBOX_ONLY_ADDITIONS
334endif # VBOX_WITH_TESTCASES
335
336include $(KBUILD_PATH)/subfooter.kmk
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