VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine_new/Makefile.kmk@ 63017

Last change on this file since 63017 was 62522, checked in by vboxsync, 9 years ago

(C) 2016

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 10.4 KB
Line 
1# $Id: Makefile.kmk 62522 2016-07-22 19:17:25Z vboxsync $
2## @file
3# Makefile for the Wine D3D related dlls for VirtualBox.
4#
5
6#
7# Copyright (C) 2009-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
18
19SUB_DEPTH = ../../../../../..
20include $(KBUILD_PATH)/subheader.kmk
21
22#
23# Template for building wine stuff.
24#
25TEMPLATE_VBoxGuestWineDLL = Template for building a wine DLL.
26TEMPLATE_VBoxGuestWineDLL_EXTENDS = VBOXGUESTR3NPDLL
27TEMPLATE_VBoxGuestWineDLL_DEFS = $(TEMPLATE_VBOXGUESTR3NPDLL_DEFS) \
28 __WINESRC__ \
29 WINE_UNICODE_API="" \
30 _REENTRANT \
31 WINE_NOWINSOCK \
32 USE_WIN32_OPENGL \
33 DLLDIR=\"\" \
34 BINDIR=\"\" \
35 LIB_TO_BINDIR=\"\" \
36 LIB_TO_DLLDIR=\"\" \
37 BIN_TO_DLLDIR=\"\" \
38 LIB_TO_DATADIR=\"\" \
39 BIN_TO_DATADIR=\"\"
40
41TEMPLATE_VBoxGuestWineDLL_DEFS.x86 = __i386__
42
43#
44# Template for building the D3D[89] stuff.
45#
46TEMPLATE_VBoxGuestWineD3DxDLL = Template for building the D3D8/9 stuff.
47TEMPLATE_VBoxGuestWineD3DxDLL_EXTENDS = VBOXGUESTR3NPDLL
48TEMPLATE_VBoxGuestWineD3DxDLL_EXTENDS_BY = appending
49TEMPLATE_VBoxGuestWineD3DxDLL_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
50TEMPLATE_VBoxGuestWineD3DxDLL_DEFS = VBOX_USING_WINDDK_W7_OR_LATER
51TEMPLATE_VBoxGuestWineD3DxDLL_DEFS.x86 = __i386__
52#TEMPLATE_VBoxGuestWineD3DxDLL_INCS.x86 = vbox/libWineStub/include
53TEMPLATE_VBoxGuestWineD3DxDLL_DEFS = VBOX_WINE_WITH_IPRT
54TEMPLATE_VBoxGuestWineD3DxDLL_LIBS = \
55 $(VBOX_LIB_IPRT_GUEST_R3) \
56 $(VBOX_LIB_VBGL_R3)
57
58
59if 0
60#
61# libWine - ???.
62#
63DLLS.x86 += libWine
64libWine_TEMPLATE = VBoxGuestWineDLL
65libWine_INCS = \
66 include
67libWine_SOURCES := \
68 libWine/wine.def \
69 libWine/casemap.c \
70 libWine/collation.c \
71 libWine/compose.c \
72 libWine/config.c \
73 libWine/cptable.c \
74 libWine/debug.c \
75 libWine/fold.c \
76 libWine/ldt.c \
77 libWine/loader.c \
78 libWine/mbtowc.c \
79 libWine/mmap.c \
80 libWine/port.c \
81 libWine/sortkey.c \
82 libWine/string.c \
83 libWine/utf8.c \
84 libWine/wctomb.c \
85 libWine/wctype.c \
86 libWine/c_037.c \
87 libWine/c_424.c \
88 libWine/c_437.c \
89 libWine/c_500.c \
90 libWine/c_737.c \
91 libWine/c_775.c \
92 libWine/c_850.c \
93 libWine/c_852.c \
94 libWine/c_855.c \
95 libWine/c_856.c \
96 libWine/c_857.c \
97 libWine/c_860.c \
98 libWine/c_861.c \
99 libWine/c_862.c \
100 libWine/c_863.c \
101 libWine/c_864.c \
102 libWine/c_865.c \
103 libWine/c_866.c \
104 libWine/c_869.c \
105 libWine/c_874.c \
106 libWine/c_875.c \
107 libWine/c_878.c \
108 libWine/c_932.c \
109 libWine/c_936.c \
110 libWine/c_949.c \
111 libWine/c_950.c \
112 libWine/c_1006.c \
113 libWine/c_1026.c \
114 libWine/c_1250.c \
115 libWine/c_1251.c \
116 libWine/c_1252.c \
117 libWine/c_1253.c \
118 libWine/c_1254.c \
119 libWine/c_1255.c \
120 libWine/c_1256.c \
121 libWine/c_1257.c \
122 libWine/c_1258.c \
123 libWine/c_1361.c \
124 libWine/c_10000.c \
125 libWine/c_10006.c \
126 libWine/c_10007.c \
127 libWine/c_10029.c \
128 libWine/c_10079.c \
129 libWine/c_10081.c \
130 libWine/c_20127.c \
131 libWine/c_20866.c \
132 libWine/c_20932.c \
133 libWine/c_21866.c \
134 libWine/c_28591.c \
135 libWine/c_28592.c \
136 libWine/c_28593.c \
137 libWine/c_28594.c \
138 libWine/c_28595.c \
139 libWine/c_28596.c \
140 libWine/c_28597.c \
141 libWine/c_28598.c \
142 libWine/c_28599.c \
143 libWine/c_28600.c \
144 libWine/c_28603.c \
145 libWine/c_28604.c \
146 libWine/c_28605.c \
147 libWine/c_28606.c \
148 libWine/version.c
149endif # 0
150
151#
152# wined3d - ???.
153#
154DLLS += wined3d
155wined3d_TEMPLATE = VBoxGuestWineDLL
156wined3d_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
157wined3d_DEFS = \
158 _USE_MATH_DEFINES \
159 VBOX_USING_WINDDK_W7_OR_LATER \
160 VBOX_WINE_WITHOUT_LIBWINE \
161 VBOX_WINE_WITH_SINGLE_CONTEXT \
162 VBOX_WINE_WITH_IPRT
163# ^^^^ wined3d is now using iprt/asm.h, which includes iprt/assert.h, so iprt is required.
164if "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
165 wined3d_DEFS += WINE_NO_DEBUG_MSGS
166endif
167wined3d_DEFS += \
168 VBOX_WITH_WINE_FIX_IBMTMR \
169 VBOX_WITH_WINE_FIX_BUFOFFSET \
170 VBOX_WITH_WINE_FIX_QUIRKS \
171 VBOX_WITH_WINE_FIX_PBOPSM \
172 VBOX_WITH_WINE_FIX_INITCLEAR \
173 VBOX_WITH_WINE_FIX_TEXCLEAR \
174 VBOX_WITH_WINE_FIX_STRINFOBUF \
175 VBOX_WITH_WINE_FIX_SHADERCLEANUP \
176 VBOX_WITH_WINE_FIX_SURFUPDATA \
177 VBOX_WITH_WINE_FIX_CURVBO \
178 VBOX_WITH_WINE_FIX_FTOA \
179 VBOX_WITH_WINE_FIX_SHADER_DECL \
180 VBOX_WITH_WINE_DBG
181#wined3d_DEFS += VBOX_WITH_WINE_FIXES
182wined3d_INCS := \
183 vbox/libWineStub/include
184wined3d_SOURCES := \
185 wined3d/arb_program_shader.c \
186 wined3d/ati_fragment_shader.c \
187 wined3d/buffer.c \
188 wined3d/context.c \
189 wined3d/device.c \
190 wined3d/directx.c \
191 wined3d/drawprim.c \
192 wined3d/gl_compat.c \
193 wined3d/glsl_shader.c \
194 wined3d/nvidia_texture_shader.c \
195 wined3d/palette.c \
196 wined3d/query.c \
197 wined3d/resource.c \
198 wined3d/shader.c \
199 wined3d/shader_sm1.c \
200 wined3d/shader_sm4.c \
201 wined3d/state.c \
202 wined3d/stateblock.c \
203 wined3d/surface.c \
204 wined3d/swapchain.c \
205 wined3d/texture.c \
206 wined3d/utils.c \
207 wined3d/vertexdeclaration.c \
208 wined3d/view.c \
209 wined3d/volume.c \
210 wined3d/wined3d_main.c \
211 wined3d/vboxext.c \
212 wined3d/sampler.c \
213 vbox/libWineStub/debug.c \
214 vbox/VBoxDbgGl.c \
215 wined3d/wined3d.def \
216 vbox/wined3dxpdm.rc
217wined3d_LIBS = \
218 $(VBOX_LIB_IPRT_GUEST_R3) \
219 $(VBOX_LIB_VBGL_R3) \
220 $(PATH_STAGE_LIB)/VBoxOGL$(VBOX_SUFF_LIB)
221
222ifdef VBOX_WITH_WDDM
223 #
224 # wined3dwddm - ???
225 #
226 DLLS += wined3dwddm
227 wined3dwddm_EXTENDS = wined3d
228 if defined(VBOX_SIGNING_MODE)
229 wined3dwddm_INSTTYPE.win = none
230 wined3dwddm_DEBUG_INSTTYPE.win = both
231 endif
232 wined3dwddm_DEFS = $(wined3d_DEFS) \
233 VBOX_WITH_WDDM \
234 IN_VBOXLIBWINE \
235 VBOX_WINE_WITH_SHADER_CACHE
236ifdef VBOX_WINE_WITH_PROFILE
237 wined3dwddm_DEFS += VBOX_WINE_WITH_PROFILE
238endif
239 wined3dwddm_INCS = $(wined3d_INCS) \
240 $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
241 wined3dwddm_SOURCES = $(subst wined3d.def,wined3dwddm.def,$(subst wined3dxpdm.rc,wined3dwddm.rc,$(wined3d_SOURCES)))
242 wined3dwddm_LIBS = $(wined3d_LIBS) \
243 $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
244 $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
245
246 #
247 # wined3dwddm-x86 - ???.
248 #
249 DLLS.amd64 += wined3dwddm-x86
250 wined3dwddm-x86_EXTENDS = wined3dwddm
251 wined3dwddm-x86_BLD_TRG_ARCH = x86
252 wined3dwddm-x86_DEFS = $(wined3dwddm_DEFS) VBOX_WDDM_WOW64
253 wined3dwddm-x86_LIBS = \
254 $(VBOX_LIB_IPRT_GUEST_R3_X86) \
255 $(VBOX_LIB_VBGL_R3_X86) \
256 $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
257 $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB) \
258 $(PATH_STAGE_LIB)/VBoxOGL-x86$(VBOX_SUFF_LIB)
259endif # ifdef VBOX_WITH_WDDM
260
261#
262# VBoxD3D8 - ???.
263#
264DLLS += VBoxD3D8
265VBoxD3D8_TEMPLATE = VBoxGuestWineDLL
266VBoxD3D8_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
267VBoxD3D8_DEFS = _USE_MATH_DEFINES \
268 VBOX_USING_WINDDK \
269 VBOX_WINE_WITHOUT_LIBWINE
270if "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
271 VBoxD3D8_DEFS += WINE_NO_DEBUG_MSGS
272endif
273VBoxD3D8_INCS := \
274 vbox/libWineStub/include
275VBoxD3D8_SOURCES := \
276 d3d8/d3d8_main.c \
277 d3d8/buffer.c \
278 d3d8/device.c \
279 d3d8/directx.c \
280 d3d8/shader.c \
281 d3d8/surface.c \
282 d3d8/swapchain.c \
283 d3d8/texture.c \
284 d3d8/vertexdeclaration.c \
285 d3d8/volume.c \
286 vbox/libWineStub/debug.c \
287 d3d8/d3d8.def \
288 vbox/d3d8.rc
289VBoxD3D8_LIBS = \
290 $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB)
291VBoxD3D8_DEFS += VBOX_WINE_WITH_IPRT
292VBoxD3D8_LIBS += \
293 $(VBOX_LIB_IPRT_GUEST_R3) \
294 $(VBOX_LIB_VBGL_R3)
295
296#
297# VBoxD3D9 - ???.
298#
299DLLS += VBoxD3D9
300VBoxD3D9_TEMPLATE = VBoxGuestWineDLL
301VBoxD3D9_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
302VBoxD3D9_DEFS = _USE_MATH_DEFINES \
303 VBOX_USING_WINDDK \
304 VBOX_WINE_WITHOUT_LIBWINE
305if "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
306 VBoxD3D9_DEFS += WINE_NO_DEBUG_MSGS
307endif
308#@todo: do we actually need this?
309#VBoxD3D9_DEFS += VBOX_WITH_WINE_FIX_NO9EX
310VBoxD3D9_INCS := \
311 vbox/libWineStub/include
312VBoxD3D9_SOURCES := \
313 d3d9/d3d9_main.c \
314 d3d9/buffer.c \
315 d3d9/device.c \
316 d3d9/directx.c \
317 d3d9/query.c \
318 d3d9/shader.c \
319 d3d9/stateblock.c \
320 d3d9/surface.c \
321 d3d9/swapchain.c \
322 d3d9/texture.c \
323 d3d9/vertexdeclaration.c \
324 d3d9/volume.c \
325 vbox/libWineStub/debug.c \
326 d3d9/d3d9xpdm.def \
327 vbox/d3d9xpdm.rc
328VBoxD3D9_SOURCES.amd64 = d3d9/vboxport.asm
329VBoxD3D9_LIBS = \
330 $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB)
331VBoxD3D9_DEFS += VBOX_WINE_WITH_IPRT
332VBoxD3D9_LIBS += \
333 $(VBOX_LIB_IPRT_GUEST_R3) \
334 $(VBOX_LIB_VBGL_R3)
335
336ifdef VBOX_WITH_WDDM
337 #
338 # VBoxD3D9wddm - ???.
339 #
340 DLLS += VBoxD3D9wddm
341 VBoxD3D9wddm_EXTENDS = VBoxD3D9
342 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
343 VBoxD3D9wddm_INSTTYPE = none
344 VBoxD3D9wddm_DEBUG_INSTTYPE = both
345 endif
346 VBoxD3D9wddm_INCS = $(VBoxD3D9_INCS) \
347 $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
348 VBoxD3D9wddm_DEFS += $(VBoxD3D9_DEFS) \
349 VBOX_WITH_WDDM \
350 IN_VBOXWINEEX \
351 VBOX_WINE_NO_LOCK
352 VBoxD3D9wddm_SOURCES = $(subst d3d9xpdm.def,d3d9wddm.def,$(subst d3d9xpdm.rc,d3d9wddm.rc,$(VBoxD3D9_SOURCES)))
353 VBoxD3D9wddm_LIBS = \
354 $(subst $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB),$(PATH_STAGE_LIB)/wined3dwddm$(VBOX_SUFF_LIB),$(VBoxD3D9_LIBS)) \
355 $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
356 $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
357
358 #
359 # VBoxD3D9wddm-x86 - For WOW64.
360 #
361 DLLS.amd64 += VBoxD3D9wddm-x86
362 VBoxD3D9wddm-x86_EXTENDS = VBoxD3D9wddm
363 VBoxD3D9wddm-x86_BLD_TRG_ARCH = x86
364 VBoxD3D9wddm-x86_DEFS = $(VBoxD3D9wddm_DEFS) VBOX_WDDM_WOW64
365 VBoxD3D9wddm-x86_LIBS = $(PATH_STAGE_LIB)/wined3dwddm-x86$(VBOX_SUFF_LIB)
366 VBoxD3D9wddm-x86_LIBS += \
367 $(VBOX_LIB_IPRT_GUEST_R3_X86) \
368 $(VBOX_LIB_VBGL_R3_X86)
369 VBoxD3D9wddm-x86_LIBS += \
370 $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
371 $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
372endif # VBOX_WITH_WDDM
373
374#
375# d3d8 - ???.
376#
377DLLS += d3d8
378d3d8_TEMPLATE = VBoxGuestWineD3DxDLL
379d3d8_SOURCES = \
380 switcher/d3d8_main.c \
381 switcher/sw_common.c \
382 switcher/sw_d3d8.def \
383 switcher/d3d8.rc
384
385#
386# d3d9 - ???.
387#
388DLLS += d3d9
389d3d9_TEMPLATE = VBoxGuestWineD3DxDLL
390d3d9_SOURCES = \
391 switcher/d3d9_main.c \
392 switcher/sw_common.c \
393 switcher/d3d9.rc
394d3d9_SOURCES.x86 = \
395 switcher/sw_d3d9.def
396d3d9_SOURCES.amd64 = \
397 switcher/sw_d3d9xpdm.def
398
399include $(FILE_KBUILD_SUB_FOOTER)
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette