VirtualBox

source: vbox/trunk/src/VBox/GuestHost/OpenGL/Makefile.kmk@ 64766

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

bugref:3810: X11 Guest Additions maintenance: remove unnecessary parts of the Mesa 7.2 sources from the tree, leaving only public OpenGL header files. The reason we are not just switching to using the Mesa 11 headers is that they currently conflict with our API definitions in APIspec.txt including due to increased const-correctness.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 26.9 KB
Line 
1# $Id: Makefile.kmk 64269 2016-10-14 06:03:39Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest/Host OpenGL part
4#
5
6#
7# Copyright (C) 2008-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
21
22#
23# Target lists.
24#
25BLDDIRS += \
26 $(VBOX_PATH_CROGL_GENFILES)/ \
27 $(VBOX_PATH_CROGL_GENFILES)/state/
28
29ifdef VBOX_WITH_ADDITIONS
30 ifn1of ($(KBUILD_TARGET), darwin os2)
31 VBOX_WITH_CROGL_ADDITIONS = 1
32 endif
33endif
34
35ifdef VBOX_WITH_CROGL_ADDITIONS
36 DLLS += VBoxOGLcrutil VBoxOGLerrorspu
37 LIBRARIES += VBoxOGLcrpacker VBoxOGLspuload VBoxOGLcrstate
38endif
39
40ifndef VBOX_ONLY_ADDITIONS
41 DLLS += VBoxOGLhostcrutil VBoxOGLhosterrorspu
42 LIBRARIES += VBoxOGLhostcrpacker VBoxOGLhostspuload VBoxOGLhostcrstate
43endif
44
45#
46# VBoxOGLcrutil
47#
48VBoxOGLcrutil_TEMPLATE = VBOXCROGLR3GUESTDLL
49if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
50 VBoxOGLcrutil_INSTTYPE.win = none
51 VBoxOGLcrutil_DEBUG_INSTTYPE.win = both
52endif
53VBoxOGLcrutil_SDKS.win = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK)
54VBoxOGLcrutil_INTERMEDIATES = $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h
55if1of ($(KBUILD_TARGET), linux solaris freebsd)
56 VBoxOGLcrutil_INCS += \
57 $(VBOX_GL_INCS)
58endif
59VBoxOGLcrutil_SOURCES = \
60 util/bbox.c \
61 util/bufpool.c \
62 util/calllists.c \
63 util/devnull.c \
64 util/dll.c \
65 util/endian.c \
66 util/environment.c \
67 util/error.c \
68 util/filenet.c \
69 util/hash.c \
70 util/hull.c \
71 util/list.c \
72 util/matrix.c \
73 util/mem.c \
74 util/net.c \
75 util/pixel.c \
76 util/process.c \
77 util/rand.c \
78 util/string.c \
79 util/threads.c \
80 util/tcpip.c \
81 util/udptcpip.c \
82 util/timer.c \
83 util/url.c \
84 util/warp.c \
85 util/vreg.cpp \
86 util/blitter.cpp \
87 util/compositor.cpp \
88 util/htable.cpp \
89 util/bmpscale.cpp \
90 util/vboxhgcm.c \
91 $(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
92VBoxOGLcrutil_SOURCES.win = \
93 util/VBoxOGLcrutil.rc
94VBoxOGLcrutil_SOURCES.win.x86 = \
95 util/util.def
96VBoxOGLcrutil_LIBS.win = \
97 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ddraw.lib \
98 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/dxguid.lib \
99 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/shlwapi.lib
100VBoxOGLcrutil_LIBS = \
101 $(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
102 $(VBOX_LIB_VBGL_R3_SHARED)
103
104# Needed by GDEbuger
105ifdef CR_NO_GL_SYSTEM_PATH
106VBoxOGLcrutil_DEFS += CR_NO_GL_SYSTEM_PATH
107endif
108ifdef VBOX_WITH_CRHGSMI
109VBoxOGLcrutil_DEFS.win += VBOX_WITH_CRHGSMI
110VBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
111endif
112ifdef VBOX_WITH_WDDM
113VBoxOGLcrutil_DEFS.win += VBOX_WITH_WDDM
114VBoxOGLcrutil_DEFS.win += CR_DEBUG_BACKDOOR_ENABLE
115VBoxOGLcrutil_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
116VBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB)
117endif
118VBoxOGLcrutil_CLEAN = \
119 $(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
120if1of ($(KBUILD_TARGET), linux)
121VBoxOGLcrutil_LDFLAGS += -Wl,-z,nodelete
122endif
123
124# vc7 hangs during compilation of this file when optimizations are enabled.
125#VBoxOGLcrutil_pixel.c_CFLAGS.win.x86 += -Od
126#VBoxOGLhostcrutil_pixel.c_CFLAGS.win.x86 += -Od
127
128if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
129#
130# VBoxOGLcrutil-x86 - x86 VBoxOGLcrutil version built for amd64 build
131#
132DLLS.win.amd64 += VBoxOGLcrutil-x86
133VBoxOGLcrutil-x86_TEMPLATE = VBOXCROGLR3GUESTDLL
134VBoxOGLcrutil-x86_EXTENDS = VBoxOGLcrutil
135VBoxOGLcrutil-x86_BLD_TRG_ARCH = x86
136VBoxOGLcrutil-x86_LIBS = $(VBOX_LIB_IPRT_GUEST_R3_SHARED_X86) \
137 $(VBOX_LIB_VBGL_R3_SHARED_X86)
138VBoxOGLcrutil-x86_LIBS.win = \
139 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/ddraw.lib \
140 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/dxguid.lib
141ifdef VBOX_WITH_CRHGSMI
142# VBOX_WITH_CRHGSMI define is inherited from VBoxOGLcrutil
143VBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
144endif
145VBoxOGLcrutil-x86_DEFS = $(VBoxOGLcrutil_DEFS) VBOX_WDDM_WOW64
146ifdef VBOX_WITH_WDDM
147# CR_DEBUG_BACKDOOR_ENABLE define is inherited from VBoxOGLcrutil
148VBoxOGLcrutil-x86_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
149VBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB)
150endif
151# vc7 hangs during compilation of this file when optimizations are enabled.
152#VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
153#VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
154endif
155
156#
157# VBoxOGLhostcrutil
158#
159VBoxOGLhostcrutil_EXTENDS = VBoxOGLcrutil
160VBoxOGLhostcrutil_TEMPLATE = VBOXCROGLR3HOSTDLL
161if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
162 VBoxOGLhostcrutil_INSTTYPE.win = both
163endif
164if1of ($(KBUILD_TARGET), linux)
165VBoxOGLhostcrutil_LDFLAGS = $(NO_SUCH_VARIABLE)
166endif
167VBoxOGLhostcrutil_LDFLAGS.darwin = $(VBoxOGLcrutil_LDFLAGS.darwin) \
168 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhostcrutil.dylib
169VBoxOGLhostcrutil_LIBS.win = \
170 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ddraw.lib \
171 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/dxguid.lib
172VBoxOGLhostcrutil_LIBS = $(LIB_RUNTIME)
173ifdef VBOX_WITH_CRHGSMI
174VBoxOGLhostcrutil_DEFS += VBOX_WITH_CRHGSMI
175endif
176ifdef VBOX_WITH_WDDM
177VBoxOGLhostcrutil_INCS.win = $(NO_SUCH_VARIABLE)
178VBoxOGLhostcrutil_DEFS.win = $(NO_SUCH_VARIABLE)
179endif
180
181#
182# Generate files for VBoxOGLcrutil and VBoxOGLhostcrutil.
183#
184$(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c: $(PATH_SUB_CURRENT)/util/debug_opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
185 $(call MSG_GENERATE,python,$@,$<)
186 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
187
188ifdef VBOX_WITH_CRDUMPER
189$(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp: $(PATH_SUB_CURRENT)/state_tracker/dump_gen.py $(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib/get_sizes.py $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_isenabled.txt state_extensions_isenabled.txt) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
190 $(call MSG_GENERATE,python,$@,$<)
191 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
192endif
193
194#
195# VBoxOGLcrpacker
196#
197VBoxOGLcrpacker_TEMPLATE = VBOXCROGLR3GUESTLIB
198VBoxOGLcrpacker_INCS = \
199 packer
200if1of ($(KBUILD_TARGET), linux solaris freebsd)
201 VBoxOGLcrpacker_INCS += \
202 $(VBOX_GL_INCS)
203endif
204VBoxOGLcrpacker_INTERMEDIATES = \
205 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
206 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
207 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
208 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
209 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
210VBoxOGLcrpacker_SOURCES = \
211 packer/pack_arrays.c \
212 packer/pack_beginend.c \
213 packer/pack_bounds.c \
214 packer/pack_buffer.c \
215 packer/pack_bufferobject.c \
216 packer/pack_client.c \
217 packer/pack_clipplane.c \
218 packer/pack_context.c \
219 packer/pack_error.c \
220 packer/pack_extensions.c \
221 packer/pack_feedback.c \
222 packer/pack_fence.c \
223 packer/pack_fog.c \
224 packer/pack_init.c \
225 packer/pack_lights.c \
226 packer/pack_lists.c \
227 packer/pack_swap_lists.c \
228 packer/pack_map.c \
229 packer/pack_point.c \
230 packer/pack_swap_map.c \
231 packer/pack_misc.c \
232 packer/pack_materials.c \
233 packer/pack_matrices.c \
234 packer/pack_pixels.c \
235 packer/pack_pixelmap.c \
236 packer/pack_swap_pixelmap.c \
237 packer/pack_program.c \
238 packer/pack_regcombiner.c \
239 packer/pack_stipple.c \
240 packer/pack_texture.c \
241 packer/pack_swap_texture.c \
242 packer/pack_visibleregion.c \
243 packer/pack_shaders.c \
244 packer/pack_framebuffer.c \
245 $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
246 $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
247 $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
248 $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
249 $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
250 $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
251 $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
252 $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
253 $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
254 $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
255 $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
256 $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
257 $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
258 $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
259 $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
260 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
261 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
262 $(VBOX_PATH_CROGL_GENFILES)/packer.c
263VBoxOGLcrpacker_CLEAN = \
264 $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
265 $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
266 $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
267 $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
268 $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
269 $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
270 $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
271 $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
272 $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
273 $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
274 $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
275 $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
276 $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
277 $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
278 $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
279 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
280 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
281 $(VBOX_PATH_CROGL_GENFILES)/packer.c \
282 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
283 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
284 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h
285ifdef VBOX_WITH_CRHGSMI
286VBoxOGLcrpacker_DEFS.win += VBOX_WITH_CRHGSMI
287endif
288ifdef VBOX_WITH_WDDM
289VBoxOGLcrpacker_DEFS.win += VBOX_WITH_WDDM
290endif
291
292if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
293#
294# VBoxOGLcrpacker-x86 - x86 VBoxOGLcrpacker version built for amd64 build
295#
296LIBRARIES.win.amd64 += VBoxOGLcrpacker-x86
297VBoxOGLcrpacker-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
298VBoxOGLcrpacker-x86_EXTENDS = VBoxOGLcrpacker
299VBoxOGLcrpacker-x86_BLD_TRG_ARCH = x86
300VBoxOGLcrpacker-x86_DEFS = $(VBoxOGLcrpacker_DEFS) VBOX_WDDM_WOW64
301endif
302
303#
304# VBoxOGLhostcrpacker
305#
306VBoxOGLhostcrpacker_EXTENDS = VBoxOGLcrpacker
307VBoxOGLhostcrpacker_TEMPLATE = VBOXCROGLR3HOSTLIB
308
309#
310# Generate files for VBoxOGLcrpacker and VBoxOGLhostcrpacker.
311#
312$(VBOX_PATH_CROGL_GENFILES)/packer.def: $(PATH_SUB_CURRENT)/packer/packer_defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
313 $(call MSG_GENERATE,python,$@,$<)
314 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
315
316$(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h: $(PATH_SUB_CURRENT)/packer/pack_header.py $(PATH_SUB_CURRENT)/packer/packer_special $(VBOX_CROGL_API_FILES) | $$(dir $$@)
317 $(call MSG_GENERATE,python,$@,$<)
318 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
319
320$(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h: $(PATH_SUB_CURRENT)/packer/opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
321 $(call MSG_GENERATE,python,$@,$<)
322 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
323
324$(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h: $(PATH_SUB_CURRENT)/packer/pack_currentheader.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $(VBOX_PATH_CROGL_GENFILES)) $$(dir $$@)
325 $(call MSG_GENERATE,python,$@,$<)
326 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
327
328$(VBOX_PATH_CROGL_GENFILES)/packer.c: $(PATH_SUB_CURRENT)/packer/packer.py $(PATH_SUB_CURRENT)/packer/packer_special $(VBOX_CROGL_API_FILES) | $$(dir $$@)
329 $(call MSG_GENERATE,python,$@,$<)
330 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
331
332$(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c: $(PATH_SUB_CURRENT)/packer/packer_bbox.py | $$(dir $$@)
333 $(call MSG_GENERATE,python,$@,$<)
334 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
335
336$(VBOX_PATH_CROGL_GENFILES)/pack_current.c: $(PATH_SUB_CURRENT)/packer/pack_current.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $$@)
337 $(call MSG_GENERATE,python,$@,$<)
338 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
339
340$(VBOX_PATH_CROGL_GENFILES)/%_swap.c: $(PATH_SUB_CURRENT)/packer/%.c $(PATH_SUB_CURRENT)/packer/pack_swap.py | $$(dir $$@)
341 $(call MSG_GENERATE,python,$@,$<)
342 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/pack_swap.py $<
343
344
345#
346# VBoxOGLspuload
347#
348VBoxOGLspuload_TEMPLATE = VBOXCROGLR3GUESTLIB
349VBoxOGLspuload_INTERMEDIATES = \
350 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
351if1of ($(KBUILD_TARGET), linux solaris freebsd)
352 VBoxOGLspuload_INCS += \
353 $(VBOX_GL_INCS)
354endif
355VBoxOGLspuload_SOURCES = \
356 spu_loader/spuinit.c \
357 spu_loader/spuload.c \
358 spu_loader/choosevisual.c \
359 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
360 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
361 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
362 $(VBOX_PATH_CROGL_GENFILES)/glloader.c
363VBoxOGLspuload_CLEAN = \
364 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
365 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
366 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
367 $(VBOX_PATH_CROGL_GENFILES)/glloader.c \
368 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
369ifdef VBOX_WITH_CRHGSMI
370VBoxOGLspuload_DEFS.win += VBOX_WITH_CRHGSMI
371endif
372ifdef VBOX_WITH_WDDM
373VBoxOGLspuload_DEFS.win += VBOX_WITH_WDDM
374endif
375
376if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
377#
378# VBoxOGLspuload-x86 - x86 VBoxOGLspuload version built for amd64 build
379#
380LIBRARIES.win.amd64 += VBoxOGLspuload-x86
381VBoxOGLspuload-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
382VBoxOGLspuload-x86_EXTENDS = VBoxOGLspuload
383VBoxOGLspuload-x86_BLD_TRG_ARCH = x86
384VBoxOGLspuload-x86_DEFS = $(VBoxOGLspuload_DEFS) VBOX_WDDM_WOW64
385endif
386
387
388#
389# VBoxOGLhostspuload
390#
391VBoxOGLhostspuload_EXTENDS = VBoxOGLspuload
392VBoxOGLhostspuload_TEMPLATE = VBOXCROGLR3HOSTLIB
393
394#
395# Generate files for VBoxOGLspuload and VBoxOGLhostspuload.
396#
397$(VBOX_PATH_CROGL_GENFILES)/dispatch.c: $(PATH_SUB_CURRENT)/spu_loader/dispatch.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
398 $(call MSG_GENERATE,python,$@,$<)
399 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
400
401$(VBOX_PATH_CROGL_GENFILES)/spucopy.c: $(PATH_SUB_CURRENT)/spu_loader/spucopy.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
402 $(call MSG_GENERATE,python,$@,$<)
403 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
404
405$(VBOX_PATH_CROGL_GENFILES)/spuchange.c: $(PATH_SUB_CURRENT)/spu_loader/spuchange.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
406 $(call MSG_GENERATE,python,$@,$<)
407 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
408
409$(VBOX_PATH_CROGL_GENFILES)/glloader.c: $(PATH_SUB_CURRENT)/spu_loader/glloader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
410 $(call MSG_GENERATE,python,$@,$<)
411 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
412
413$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h: $(PATH_SUB_CURRENT)/spu_loader/dispatchheader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
414 $(call MSG_GENERATE,python,$@,$<)
415 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
416
417
418#
419# VBoxOGLcrstate
420#
421VBoxOGLcrstate_TEMPLATE = VBOXCROGLR3GUESTLIB
422VBoxOGLcrstate_INCS = \
423 state_tracker
424if1of ($(KBUILD_TARGET), linux solaris freebsd)
425 VBoxOGLcrstate_INCS += \
426 $(VBOX_GL_INCS)
427endif
428VBoxOGLcrstate_INTERMEDIATES = \
429 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
430 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
431 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
432VBoxOGLcrstate_SOURCES = \
433 state_tracker/state_attrib.c \
434 state_tracker/state_buffer.c \
435 state_tracker/state_bufferobject.c \
436 state_tracker/state_client.c \
437 state_tracker/state_current.c \
438 state_tracker/state_diff.c \
439 state_tracker/state_enable.c \
440 state_tracker/state_error.c \
441 state_tracker/state_evaluators.c \
442 state_tracker/state_feedback.c \
443 state_tracker/state_fence.c \
444 state_tracker/state_flush.c \
445 state_tracker/state_fog.c \
446 state_tracker/state_getstring.c \
447 state_tracker/state_hint.c \
448 state_tracker/state_init.c \
449 state_tracker/state_lighting.c \
450 state_tracker/state_limits.c \
451 state_tracker/state_line.c \
452 state_tracker/state_lists.c \
453 state_tracker/state_multisample.c \
454 state_tracker/state_occlude.c \
455 state_tracker/state_pixel.c \
456 state_tracker/state_point.c \
457 state_tracker/state_polygon.c \
458 state_tracker/state_program.c \
459 state_tracker/state_rasterpos.c \
460 state_tracker/state_regcombiner.c \
461 state_tracker/state_stencil.c \
462 state_tracker/state_texture.c \
463 state_tracker/state_teximage.c \
464 state_tracker/state_texdiff.c \
465 state_tracker/state_transform.c \
466 state_tracker/state_viewport.c \
467 state_tracker/state_framebuffer.c \
468 state_tracker/state_glsl.c \
469 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
470 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
471 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
472 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
473 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
474 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
475 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
476 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
477 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
478 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
479 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
480 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c
481ifdef VBOX_WITH_CRDUMPER
482VBoxOGLcrstate_SOURCES += state_tracker/dump.cpp \
483 $(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp
484endif
485VBoxOGLcrstate_SOURCES.win = \
486 $(PATH_ROOT)/src/VBox/Runtime/common/asm/ASMBitNextClear.asm \
487 $(PATH_ROOT)/src/VBox/Runtime/common/asm/ASMBitNextSet.asm
488
489VBoxOGLcrstate_CLEAN = \
490 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
491 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
492 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
493 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
494 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
495 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
496 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
497 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
498 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
499 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
500 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
501 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c \
502 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
503ifdef VBOX_WITH_CRDUMPER
504VBoxOGLcrstate_CLEAN += $(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp
505endif
506
507ifneq ($(KBUILD_TARGET),win)
508 ifeq ($(VBOX_WITH_COMPATIBLE_LINUX_GUEST_PACKAGE),)
509state_tracker/state_lists.c_CFLAGS += $(VBOX_GCC_Wno-pointer-sign)
510VBoxOGLcrstate_CFLAGS +=
511 endif
512endif
513ifdef VBOX_WITH_CRHGSMI
514VBoxOGLcrstate_DEFS.win += VBOX_WITH_CRHGSMI
515endif
516ifdef VBOX_WITH_WDDM
517VBoxOGLcrstate_DEFS.win += VBOX_WITH_WDDM
518endif
519ifdef VBOX_WITH_CRDUMPER
520VBoxOGLcrstate_DEFS += VBOX_WITH_CRDUMPER
521#VBoxOGLcrutil_LIBS += \
522 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
523 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB)
524endif
525
526if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
527#
528# VBoxOGLcrstate-x86 - x86 VBoxOGLcrstate version built for amd64 build
529#
530LIBRARIES.win.amd64 += VBoxOGLcrstate-x86
531VBoxOGLcrstate-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
532VBoxOGLcrstate-x86_EXTENDS = VBoxOGLcrstate
533VBoxOGLcrstate-x86_BLD_TRG_ARCH = x86
534VBoxOGLcrstate-x86_DEFS = $(VBoxOGLcrstate_DEFS) VBOX_WDDM_WOW64
535endif
536
537
538#
539# VBoxOGLhostcrstate
540#
541VBoxOGLhostcrstate_EXTENDS = VBoxOGLcrstate
542VBoxOGLhostcrstate_TEMPLATE = VBOXCROGLR3HOSTLIB
543VBoxOGLhostcrstate_SOURCES = \
544 $(VBoxOGLcrstate_SOURCES) \
545 state_tracker/state_snapshot.c
546
547#
548# Generate files for VBoxOGLcrstate and VBoxOGLhostcrstate.
549#
550
551
552$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_buffer.txt gendiffcode.py) | $$(dir $$@)
553 $(call MSG_GENERATE,python,$@,$<)
554 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py buffer Buffer $(<D)
555
556$(VBOX_PATH_CROGL_GENFILES)/state_client_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_client.txt gendiffcode.py) | $$(dir $$@)
557 $(call MSG_GENERATE,python,$@,$<)
558 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py client Client $(<D)
559
560$(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_current.py convert.py) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
561 $(call MSG_GENERATE,python,$@,$<)
562 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_current.py
563
564$(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_fog.txt gendiffcode.py) | $$(dir $$@)
565 $(call MSG_GENERATE,python,$@,$<)
566 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py fog Fog $(<D)
567
568$(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_hint.txt gendiffcode.py) | $$(dir $$@)
569 $(call MSG_GENERATE,python,$@,$<)
570 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py hint Hint $(<D)
571
572$(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_lighting.txt gendiffcode.py) | $$(dir $$@)
573 $(call MSG_GENERATE,python,$@,$<)
574 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py lighting Lighting $(<D)
575
576$(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_line.txt gendiffcode.py) | $$(dir $$@)
577 $(call MSG_GENERATE,python,$@,$<)
578 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py line Line $(<D)
579
580$(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_multisample.txt gendiffcode.py) | $$(dir $$@)
581 $(call MSG_GENERATE,python,$@,$<)
582 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py multisample Multisample $(<D)
583
584$(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_polygon.txt gendiffcode.py) | $$(dir $$@)
585 $(call MSG_GENERATE,python,$@,$<)
586 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py polygon Polygon $(<D)
587
588$(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_regcombiner.txt gendiffcode.py) | $$(dir $$@)
589 $(call MSG_GENERATE,python,$@,$<)
590 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py regcombiner RegCombiner $(<D)
591
592$(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_viewport.txt gendiffcode.py) | $$(dir $$@)
593 $(call MSG_GENERATE,python,$@,$<)
594 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py viewport Viewport $(<D)
595
596$(VBOX_PATH_CROGL_GENFILES)/state_get.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_get.py state_get.txt state_extensions_get.txt get_components.py) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
597 $(call MSG_GENERATE,python,$@,$<)
598 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_get.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
599
600$(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_isenabled.py state_isenabled.txt state_extensions_isenabled.txt) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
601 $(call MSG_GENERATE,python,$@,$<)
602 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_isenabled.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
603
604$(VBOX_PATH_CROGL_GENFILES)/state.def: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_defs.py state_special state_select_special state_feedback_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
605 $(call MSG_GENERATE,python,$@,$<)
606 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_defs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
607
608$(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_funcs.py state_special state_feedback_special state_select_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
609 $(call MSG_GENERATE,python,$@,$<)
610 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_funcs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
611
612
613#
614# VBoxOGLerrorspu
615# @remark See HostServices/OpenGL/Makefile for and explanation of the gl.h
616# and glu.h intermediate files on darwin.
617#
618VBoxOGLerrorspu_TEMPLATE = VBOXCROGLR3GUESTDLL
619if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
620 VBoxOGLerrorspu_INSTTYPE.win = none
621 VBoxOGLerrorspu_DEBUG_INSTTYPE.win = both
622endif
623VBoxOGLerrorspu_INTERMEDIATES = \
624 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
625if1of ($(KBUILD_TARGET), linux solaris freebsd)
626 VBoxOGLerrorspu_INCS += \
627 $(VBOX_GL_INCS)
628endif
629VBoxOGLerrorspu_SOURCES = \
630 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c \
631 error/errorspu_init.c
632VBoxOGLerrorspu_SOURCES.win = \
633 error/VBoxOGLerrorspu.rc
634VBoxOGLerrorspu_SOURCES.win.x86 = \
635 error/error.def
636VBoxOGLerrorspu_CLEAN = \
637 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c
638VBoxOGLerrorspu_LIBS = \
639 $(VBOX_LIB_OGL_CRUTIL)
640ifdef VBOX_WITH_CRHGSMI
641VBoxOGLerrorspu_DEFS.win += VBOX_WITH_CRHGSMI
642endif
643ifdef VBOX_WITH_WDDM
644VBoxOGLerrorspu_DEFS.win += VBOX_WITH_WDDM
645endif
646
647
648if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
649#
650# VBoxOGLerrorspu-x86 - x86 VBoxOGLerrorspu version built for amd64 build
651#
652DLLS.win.amd64 += VBoxOGLerrorspu-x86
653VBoxOGLerrorspu-x86_TEMPLATE = VBOXCROGLR3GUESTDLL
654VBoxOGLerrorspu-x86_EXTENDS = VBoxOGLerrorspu
655VBoxOGLerrorspu-x86_BLD_TRG_ARCH = x86
656VBoxOGLerrorspu-x86_LIBS = \
657 $(VBOX_LIB_OGL_CRUTIL_X86)
658VBoxOGLerrorspu-x86_DEFS = $(VBoxOGLerrorspu_DEFS) VBOX_WDDM_WOW64
659endif
660
661#
662# VBoxOGLhosterrorspu
663#
664VBoxOGLhosterrorspu_EXTENDS = VBoxOGLerrorspu
665VBoxOGLhosterrorspu_TEMPLATE = VBOXCROGLR3HOSTDLL
666if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
667 VBoxOGLhosterrorspu_INSTTYPE.win = both
668endif
669VBoxOGLhosterrorspu_LDFLAGS.darwin += $(VBoxOGLerrorspu_LDFLAGS.darwin) \
670 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhosterrorspu.dylib
671VBoxOGLhosterrorspu_LIBS = \
672 $(VBOX_LIB_OGL_HOSTCRUTIL) \
673 $(LIB_RUNTIME)
674
675#
676# Generate files for VBoxOGLerrorspu and VBoxOGLhosterrorspu.
677#
678$(VBOX_PATH_CROGL_GENFILES)/errorspu.c: $(PATH_SUB_CURRENT)/error/error.py $(VBOX_CROGL_API_FILES)
679 $(call MSG_GENERATE,python,$@,$<)
680 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
681include $(FILE_KBUILD_SUB_FOOTER)
682
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