VirtualBox

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

Last change on this file since 78285 was 78190, checked in by vboxsync, 6 years ago

Merge first stage of the Chromium cleanup from the branch:

  • r129818 (Remove VBOX_WITH_CR_DISPLAY_LISTS and accompanying code as it was disabled since r108676 and was never brought back (see ​bugref:3456 and ​bugref:8485))
  • r129819 (HostServices/SharedOpenGL: Remove unused main entry point from upstream server process based implementation)
  • r129820 (HostServices/SharedOpenGL: Started eliminating all backends other than HGCM. They are not used and probably wouldn't work anymore anyway)
  • r129821 (HostServices/SharedOpenGL,GuestHost/OpenGLAdditions/common/crOpenGL: Kill crTimer* API as it is not used anywhere)
  • r129822 (HostServices/SharedOpenGL,GuestHost/OpenGLAdditions/common/crOpenGL: Kill most from cr_process.h apart from two used methods)
  • r129823 (HostServices/SharedOpenGL,GuestHost/OpenGLAdditions/common/crOpenGL: Kill crList* API as it is unused)
  • r129824 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Kill crHullInteriorBox API as it is unused)
  • r129825 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Kill crWarpPoint API as it is unused)
  • r129826 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Kill CrSa* API as it is unused and not even compiled in)
  • r129827 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Kill cr_bbox.h as it is unused)
  • r129828 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove a few crParseUrl() two uses)
  • r129829 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove last crParseURL() use)
  • r129830 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove crParseURL())
  • r129831 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove VBOX_WITH_COCOA_QT and related code when not set as it is the default for years now and we don't support anything else anymore)
  • r129832 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove unused cr_logo.h)
  • r129833 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove unused crut_api.h and crut_clientapi.h)
  • r129834 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove unused cr_dmx.h)
  • r129835 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove unused cr_perf.h)
  • r129836 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove cr_rand.h and friends as it is not actively used anywhere)
  • r129837 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of all the swapped versions in the packer SPU, we never change endianess from guest to host and don't need it)
  • r129838 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove more swapper versions in the packer related code)
  • r129839 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove more swapper versions in the packer related code)
  • r129840 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove unused pack_pica.c)
  • r129841 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove more swapper versions in the packer related code)
  • r129842 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of cr_endianess.h and friends)
  • r129843 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of unused lowercase.py)
  • r129844 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of unused cr_calllists.h and friends)
  • r129845 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of completely unused idpool.c, not even compiled in)
  • r129846 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of unused cr_debugopcodes.h and friends)
  • r129847 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Make the cr_mem.h API inline and get rid of the implementation in the util library)
  • r129848 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of SPUOptions and related code as it is of no use for us)
  • r129849 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of cr_environment.h and friends and convert usage to RTEnv* APIs)
  • r129850 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of unused renderspu_agl.c)
  • r129851 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Remove unused code in cr_htable.h)
  • r129853 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Introduce a state paremeter for the unpacker workers instead of reyling on global variables, work in progress)
  • r129854 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Let the caller of crUnpack set up the initial state. This allows to get rid of the global return_ptr and writeback_ptr as they get supplied in the unpacker state by the server)
  • r129855 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of the cr_lastDispatch and cr_unpackDispatch as they are of no use now)
  • r129856 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Get rid of the global cr_unpackData and cr_unpackDataEnd symbols by indtroducing another hack to make it possible for certail server dispatch callbacks to access the data buffer)
  • r129857 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: build fix for release builds)
  • r129858 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Make the pointer to the unpacker state non const (is required for the access verification))
  • r129859 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: First iteration of the buffer size validation to prevent out of bound read access + added todos for places where additional checks are needed)
  • r129860 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Working on remaining verification todos)
  • r129861 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Working on remaining verification todos)
  • r129871 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Working on remaining verification todos)
  • r129872 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Stop as soon as the unpacker encountered an error)
  • r129876 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Working on remaining verification todos)
  • r129880 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Working on remaining verification todos)
  • r129882 (HostServices/SharedOpenGL,GuestHost/OpenGL,Additions/common/crOpenGL: Fixed some offsets in unpack_texture.c, 3DMark03 renders correctly again)
  • r130013 (HostServices/SharedOpenGL: Convert files to C++ so we can use C99 featuers on Windows with cl.exe)
  • r130014 (HostServices/SharedOpenGL,GuestHost/OpenGL: WIndows build fixes)
  • r130015 (HostServices/SharedOpenGL,GuestHost/OpenGL: More Windows build fixes)
  • r130036 (Config.kmk: Fix linker error on Windows by temporarily disabling the use of VBoxGuestR3DllMinW2K)
  • r130094 (src/VBox/GuestHost/OpenGL: Revert inlining the allocation/free functions in R3 completely as it doesn't work on Windows if memory is allocated and freed across different DLLs which don't share a common CRT, causes crashes in RtlValidtaeHeap())
  • r130095 (src/VBox/GuestHost/OpenGL,src/VBox/Additions/common/crOpenGL/pack: Don't use floating point specifiers in packspu_GetString() to avoid R6002 errors (couldn't fully understand why they occur suddenly after the rework but this gets rid of it))
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 24.7 KB
Line 
1# $Id: Makefile.kmk 78190 2019-04-18 00:07:07Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest/Host OpenGL part
4#
5
6#
7# Copyright (C) 2008-2019 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
55VBoxOGLcrutil_INCS += \
56 $(VBOX_GRAPHICS_INCS)
57if1of ($(KBUILD_TARGET), linux solaris freebsd)
58 VBoxOGLcrutil_INCS += \
59 $(VBOX_GL_INCS)
60endif
61VBoxOGLcrutil_SOURCES = \
62 util/bufpool.c \
63 util/dll.c \
64 util/error.c \
65 util/hash.c \
66 util/matrix.c \
67 util/mem.c \
68 util/net.c \
69 util/pixel.c \
70 util/process.c \
71 util/string.c \
72 util/threads.c \
73 util/vreg.cpp \
74 util/blitter.cpp \
75 util/compositor.cpp \
76 util/htable.cpp \
77 util/bmpscale.cpp \
78 util/vboxhgcm.c
79VBoxOGLcrutil_SOURCES.win = \
80 util/VBoxOGLcrutil.rc
81VBoxOGLcrutil_SOURCES.win.x86 = \
82 util/util.def
83VBoxOGLcrutil_LIBS.win = \
84 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ddraw.lib \
85 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/dxguid.lib \
86 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/shlwapi.lib
87VBoxOGLcrutil_LIBS = \
88 $(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
89 $(VBOX_LIB_VBGL_R3_SHARED)
90ifeq ($(KBUILD_TARGET),linux)
91 VBoxOGLcrutil_LIBS += crypt
92endif
93
94# Needed by GDEbuger
95ifdef CR_NO_GL_SYSTEM_PATH
96VBoxOGLcrutil_DEFS += CR_NO_GL_SYSTEM_PATH
97endif
98ifdef VBOX_WITH_CRHGSMI
99VBoxOGLcrutil_DEFS.win += VBOX_WITH_CRHGSMI
100VBoxOGLcrutil_LIBS.win += \
101 $(VBOX_PATH_ADDITIONS_LIB)/VBoxWddmUmKmt$(VBOX_SUFF_LIB) \
102 $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
103endif
104ifdef VBOX_WITH_WDDM
105VBoxOGLcrutil_DEFS.win += VBOX_WITH_WDDM
106VBoxOGLcrutil_DEFS.win += CR_DEBUG_BACKDOOR_ENABLE
107VBoxOGLcrutil_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
108VBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB)
109endif
110if1of ($(KBUILD_TARGET), linux)
111VBoxOGLcrutil_LDFLAGS += -Wl,-z,nodelete
112endif
113
114# vc7 hangs during compilation of this file when optimizations are enabled.
115#VBoxOGLcrutil_pixel.c_CFLAGS.win.x86 += -Od
116#VBoxOGLhostcrutil_pixel.c_CFLAGS.win.x86 += -Od
117
118if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
119#
120# VBoxOGLcrutil-x86 - x86 VBoxOGLcrutil version built for amd64 build
121#
122DLLS.win.amd64 += VBoxOGLcrutil-x86
123VBoxOGLcrutil-x86_TEMPLATE = VBOXCROGLR3GUESTDLL
124VBoxOGLcrutil-x86_EXTENDS = VBoxOGLcrutil
125VBoxOGLcrutil-x86_BLD_TRG_ARCH = x86
126VBoxOGLcrutil-x86_LIBS = $(VBOX_LIB_IPRT_GUEST_R3_SHARED_X86) \
127 $(VBOX_LIB_VBGL_R3_SHARED_X86)
128VBoxOGLcrutil-x86_LIBS.win = \
129 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/ddraw.lib \
130 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/dxguid.lib
131ifdef VBOX_WITH_CRHGSMI
132# VBOX_WITH_CRHGSMI define is inherited from VBoxOGLcrutil
133VBoxOGLcrutil-x86_LIBS.win += \
134 $(VBOX_PATH_ADDITIONS_LIB)/VBoxWddmUmKmt-x86$(VBOX_SUFF_LIB) \
135 $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
136endif
137VBoxOGLcrutil-x86_DEFS = $(VBoxOGLcrutil_DEFS) VBOX_WDDM_WOW64
138ifdef VBOX_WITH_WDDM
139# CR_DEBUG_BACKDOOR_ENABLE define is inherited from VBoxOGLcrutil
140VBoxOGLcrutil-x86_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
141VBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB)
142endif
143# vc7 hangs during compilation of this file when optimizations are enabled.
144#VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
145#VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
146endif
147
148#
149# VBoxOGLhostcrutil
150#
151VBoxOGLhostcrutil_EXTENDS = VBoxOGLcrutil
152VBoxOGLhostcrutil_TEMPLATE = VBOXCROGLR3HOSTDLL
153if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
154 VBoxOGLhostcrutil_INSTTYPE.win = both
155endif
156if1of ($(KBUILD_TARGET), linux)
157VBoxOGLhostcrutil_LDFLAGS = $(NO_SUCH_VARIABLE)
158endif
159VBoxOGLhostcrutil_LDFLAGS.darwin = $(VBoxOGLcrutil_LDFLAGS.darwin) \
160 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhostcrutil.dylib
161VBoxOGLhostcrutil_LIBS.win = \
162 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ddraw.lib \
163 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/dxguid.lib
164VBoxOGLhostcrutil_LIBS = $(LIB_RUNTIME)
165ifdef VBOX_WITH_CRHGSMI
166VBoxOGLhostcrutil_DEFS += VBOX_WITH_CRHGSMI
167endif
168ifdef VBOX_WITH_WDDM
169VBoxOGLhostcrutil_INCS.win = $(NO_SUCH_VARIABLE)
170VBoxOGLhostcrutil_DEFS.win = $(NO_SUCH_VARIABLE)
171endif
172
173#
174# Generate files for VBoxOGLcrutil and VBoxOGLhostcrutil.
175#
176ifdef VBOX_WITH_CRDUMPER
177$(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 $$@)
178 $(call MSG_GENERATE,python,$@,$<)
179 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
180endif
181
182#
183# VBoxOGLcrpacker
184#
185VBoxOGLcrpacker_TEMPLATE = VBOXCROGLR3GUESTLIB
186VBoxOGLcrpacker_INCS = \
187 packer \
188 $(VBOX_GRAPHICS_INCS)
189if1of ($(KBUILD_TARGET), linux solaris freebsd)
190 VBoxOGLcrpacker_INCS += \
191 $(VBOX_GL_INCS)
192endif
193VBoxOGLcrpacker_INTERMEDIATES = \
194 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
195 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
196 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
197 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
198 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
199VBoxOGLcrpacker_SOURCES = \
200 packer/pack_arrays.c \
201 packer/pack_beginend.c \
202 packer/pack_bounds.c \
203 packer/pack_buffer.c \
204 packer/pack_bufferobject.c \
205 packer/pack_client.c \
206 packer/pack_clipplane.c \
207 packer/pack_context.c \
208 packer/pack_error.c \
209 packer/pack_extensions.c \
210 packer/pack_feedback.c \
211 packer/pack_fence.c \
212 packer/pack_fog.c \
213 packer/pack_init.c \
214 packer/pack_lights.c \
215 packer/pack_lists.c \
216 packer/pack_map.c \
217 packer/pack_point.c \
218 packer/pack_misc.c \
219 packer/pack_materials.c \
220 packer/pack_matrices.c \
221 packer/pack_pixels.c \
222 packer/pack_pixelmap.c \
223 packer/pack_program.c \
224 packer/pack_regcombiner.c \
225 packer/pack_stipple.c \
226 packer/pack_texture.c \
227 packer/pack_visibleregion.c \
228 packer/pack_shaders.c \
229 packer/pack_framebuffer.c \
230 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
231 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
232 $(VBOX_PATH_CROGL_GENFILES)/packer.c
233VBoxOGLcrpacker_CLEAN = \
234 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
235 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
236 $(VBOX_PATH_CROGL_GENFILES)/packer.c \
237 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
238 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
239 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h
240ifdef VBOX_WITH_CRHGSMI
241VBoxOGLcrpacker_DEFS.win += VBOX_WITH_CRHGSMI
242endif
243ifdef VBOX_WITH_WDDM
244VBoxOGLcrpacker_DEFS.win += VBOX_WITH_WDDM
245endif
246
247if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
248#
249# VBoxOGLcrpacker-x86 - x86 VBoxOGLcrpacker version built for amd64 build
250#
251LIBRARIES.win.amd64 += VBoxOGLcrpacker-x86
252VBoxOGLcrpacker-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
253VBoxOGLcrpacker-x86_EXTENDS = VBoxOGLcrpacker
254VBoxOGLcrpacker-x86_BLD_TRG_ARCH = x86
255VBoxOGLcrpacker-x86_DEFS = $(VBoxOGLcrpacker_DEFS) VBOX_WDDM_WOW64
256endif
257
258#
259# VBoxOGLhostcrpacker
260#
261VBoxOGLhostcrpacker_EXTENDS = VBoxOGLcrpacker
262VBoxOGLhostcrpacker_TEMPLATE = VBOXCROGLR3HOSTLIB
263
264#
265# Generate files for VBoxOGLcrpacker and VBoxOGLhostcrpacker.
266#
267$(VBOX_PATH_CROGL_GENFILES)/packer.def: $(PATH_SUB_CURRENT)/packer/packer_defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
268 $(call MSG_GENERATE,python,$@,$<)
269 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
270
271$(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 $$@)
272 $(call MSG_GENERATE,python,$@,$<)
273 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
274
275$(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h: $(PATH_SUB_CURRENT)/packer/opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
276 $(call MSG_GENERATE,python,$@,$<)
277 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
278
279$(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 $$@)
280 $(call MSG_GENERATE,python,$@,$<)
281 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
282
283$(VBOX_PATH_CROGL_GENFILES)/packer.c: $(PATH_SUB_CURRENT)/packer/packer.py $(PATH_SUB_CURRENT)/packer/packer_special $(VBOX_CROGL_API_FILES) | $$(dir $$@)
284 $(call MSG_GENERATE,python,$@,$<)
285 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
286
287$(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c: $(PATH_SUB_CURRENT)/packer/packer_bbox.py | $$(dir $$@)
288 $(call MSG_GENERATE,python,$@,$<)
289 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
290
291$(VBOX_PATH_CROGL_GENFILES)/pack_current.c: $(PATH_SUB_CURRENT)/packer/pack_current.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $$@)
292 $(call MSG_GENERATE,python,$@,$<)
293 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
294
295#
296# VBoxOGLspuload
297#
298VBoxOGLspuload_TEMPLATE = VBOXCROGLR3GUESTLIB
299VBoxOGLspuload_INTERMEDIATES = \
300 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
301VBoxOGLspuload_INCS += \
302 $(VBOX_GRAPHICS_INCS)
303if1of ($(KBUILD_TARGET), linux solaris freebsd)
304 VBoxOGLspuload_INCS += \
305 $(VBOX_GL_INCS)
306endif
307VBoxOGLspuload_SOURCES = \
308 spu_loader/spuinit.c \
309 spu_loader/spuload.c \
310 spu_loader/choosevisual.c \
311 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
312 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
313 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
314 $(VBOX_PATH_CROGL_GENFILES)/glloader.c
315VBoxOGLspuload_CLEAN = \
316 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
317 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
318 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
319 $(VBOX_PATH_CROGL_GENFILES)/glloader.c \
320 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
321ifdef VBOX_WITH_CRHGSMI
322VBoxOGLspuload_DEFS.win += VBOX_WITH_CRHGSMI
323endif
324ifdef VBOX_WITH_WDDM
325VBoxOGLspuload_DEFS.win += VBOX_WITH_WDDM
326endif
327
328if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
329#
330# VBoxOGLspuload-x86 - x86 VBoxOGLspuload version built for amd64 build
331#
332LIBRARIES.win.amd64 += VBoxOGLspuload-x86
333VBoxOGLspuload-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
334VBoxOGLspuload-x86_EXTENDS = VBoxOGLspuload
335VBoxOGLspuload-x86_BLD_TRG_ARCH = x86
336VBoxOGLspuload-x86_DEFS = $(VBoxOGLspuload_DEFS) VBOX_WDDM_WOW64
337endif
338
339
340#
341# VBoxOGLhostspuload
342#
343VBoxOGLhostspuload_EXTENDS = VBoxOGLspuload
344VBoxOGLhostspuload_TEMPLATE = VBOXCROGLR3HOSTLIB
345
346#
347# Generate files for VBoxOGLspuload and VBoxOGLhostspuload.
348#
349$(VBOX_PATH_CROGL_GENFILES)/dispatch.c: $(PATH_SUB_CURRENT)/spu_loader/dispatch.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
350 $(call MSG_GENERATE,python,$@,$<)
351 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
352
353$(VBOX_PATH_CROGL_GENFILES)/spucopy.c: $(PATH_SUB_CURRENT)/spu_loader/spucopy.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
354 $(call MSG_GENERATE,python,$@,$<)
355 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
356
357$(VBOX_PATH_CROGL_GENFILES)/spuchange.c: $(PATH_SUB_CURRENT)/spu_loader/spuchange.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
358 $(call MSG_GENERATE,python,$@,$<)
359 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
360
361$(VBOX_PATH_CROGL_GENFILES)/glloader.c: $(PATH_SUB_CURRENT)/spu_loader/glloader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
362 $(call MSG_GENERATE,python,$@,$<)
363 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
364
365$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h: $(PATH_SUB_CURRENT)/spu_loader/dispatchheader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
366 $(call MSG_GENERATE,python,$@,$<)
367 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
368
369
370#
371# VBoxOGLcrstate
372#
373VBoxOGLcrstate_TEMPLATE = VBOXCROGLR3GUESTLIB
374VBoxOGLcrstate_INCS = \
375 state_tracker \
376 $(VBOX_GRAPHICS_INCS)
377if1of ($(KBUILD_TARGET), linux solaris freebsd)
378 VBoxOGLcrstate_INCS += \
379 $(VBOX_GL_INCS)
380endif
381VBoxOGLcrstate_INTERMEDIATES = \
382 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
383 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
384 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
385VBoxOGLcrstate_SOURCES = \
386 state_tracker/state_attrib.c \
387 state_tracker/state_buffer.c \
388 state_tracker/state_bufferobject.c \
389 state_tracker/state_client.c \
390 state_tracker/state_current.c \
391 state_tracker/state_diff.c \
392 state_tracker/state_enable.c \
393 state_tracker/state_error.c \
394 state_tracker/state_evaluators.c \
395 state_tracker/state_feedback.c \
396 state_tracker/state_fence.c \
397 state_tracker/state_flush.c \
398 state_tracker/state_fog.c \
399 state_tracker/state_getstring.c \
400 state_tracker/state_hint.c \
401 state_tracker/state_init.c \
402 state_tracker/state_lighting.c \
403 state_tracker/state_limits.c \
404 state_tracker/state_line.c \
405 state_tracker/state_lists.c \
406 state_tracker/state_multisample.c \
407 state_tracker/state_occlude.c \
408 state_tracker/state_pixel.c \
409 state_tracker/state_point.c \
410 state_tracker/state_polygon.c \
411 state_tracker/state_program.c \
412 state_tracker/state_rasterpos.c \
413 state_tracker/state_regcombiner.c \
414 state_tracker/state_stencil.c \
415 state_tracker/state_texture.c \
416 state_tracker/state_teximage.c \
417 state_tracker/state_texdiff.c \
418 state_tracker/state_transform.c \
419 state_tracker/state_viewport.c \
420 state_tracker/state_framebuffer.c \
421 state_tracker/state_glsl.c \
422 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
423 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
424 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
425 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
426 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
427 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
428 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
429 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
430 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
431 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
432 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
433 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c
434ifdef VBOX_WITH_CRDUMPER
435VBoxOGLcrstate_SOURCES += state_tracker/dump.cpp \
436 $(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp
437endif
438VBoxOGLcrstate_SOURCES.win = \
439 $(PATH_ROOT)/src/VBox/Runtime/common/asm/ASMBitNextClear.asm \
440 $(PATH_ROOT)/src/VBox/Runtime/common/asm/ASMBitNextSet.asm
441
442VBoxOGLcrstate_CLEAN = \
443 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
444 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
445 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
446 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
447 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
448 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
449 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
450 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
451 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
452 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
453 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
454 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c \
455 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
456ifdef VBOX_WITH_CRDUMPER
457VBoxOGLcrstate_CLEAN += $(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp
458endif
459
460ifneq ($(KBUILD_TARGET),win)
461state_tracker/state_lists.c_CFLAGS += $(VBOX_GCC_Wno-pointer-sign)
462VBoxOGLcrstate_CFLAGS +=
463endif
464ifdef VBOX_WITH_CRHGSMI
465VBoxOGLcrstate_DEFS.win += VBOX_WITH_CRHGSMI
466endif
467ifdef VBOX_WITH_WDDM
468VBoxOGLcrstate_DEFS.win += VBOX_WITH_WDDM
469endif
470ifdef VBOX_WITH_CRDUMPER
471VBoxOGLcrstate_DEFS += VBOX_WITH_CRDUMPER
472#VBoxOGLcrutil_LIBS += \
473 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
474 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB)
475endif
476
477if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
478#
479# VBoxOGLcrstate-x86 - x86 VBoxOGLcrstate version built for amd64 build
480#
481LIBRARIES.win.amd64 += VBoxOGLcrstate-x86
482VBoxOGLcrstate-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
483VBoxOGLcrstate-x86_EXTENDS = VBoxOGLcrstate
484VBoxOGLcrstate-x86_BLD_TRG_ARCH = x86
485VBoxOGLcrstate-x86_DEFS = $(VBoxOGLcrstate_DEFS) VBOX_WDDM_WOW64
486endif
487
488
489#
490# VBoxOGLhostcrstate
491#
492VBoxOGLhostcrstate_EXTENDS = VBoxOGLcrstate
493VBoxOGLhostcrstate_TEMPLATE = VBOXCROGLR3HOSTLIB
494VBoxOGLhostcrstate_SOURCES = \
495 $(VBoxOGLcrstate_SOURCES) \
496 state_tracker/state_snapshot.c
497
498#
499# Generate files for VBoxOGLcrstate and VBoxOGLhostcrstate.
500#
501
502
503$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_buffer.txt gendiffcode.py) | $$(dir $$@)
504 $(call MSG_GENERATE,python,$@,$<)
505 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py buffer Buffer $(<D)
506
507$(VBOX_PATH_CROGL_GENFILES)/state_client_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_client.txt gendiffcode.py) | $$(dir $$@)
508 $(call MSG_GENERATE,python,$@,$<)
509 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py client Client $(<D)
510
511$(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_current.py convert.py) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
512 $(call MSG_GENERATE,python,$@,$<)
513 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_current.py
514
515$(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_fog.txt gendiffcode.py) | $$(dir $$@)
516 $(call MSG_GENERATE,python,$@,$<)
517 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py fog Fog $(<D)
518
519$(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_hint.txt gendiffcode.py) | $$(dir $$@)
520 $(call MSG_GENERATE,python,$@,$<)
521 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py hint Hint $(<D)
522
523$(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_lighting.txt gendiffcode.py) | $$(dir $$@)
524 $(call MSG_GENERATE,python,$@,$<)
525 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py lighting Lighting $(<D)
526
527$(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_line.txt gendiffcode.py) | $$(dir $$@)
528 $(call MSG_GENERATE,python,$@,$<)
529 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py line Line $(<D)
530
531$(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_multisample.txt gendiffcode.py) | $$(dir $$@)
532 $(call MSG_GENERATE,python,$@,$<)
533 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py multisample Multisample $(<D)
534
535$(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_polygon.txt gendiffcode.py) | $$(dir $$@)
536 $(call MSG_GENERATE,python,$@,$<)
537 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py polygon Polygon $(<D)
538
539$(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_regcombiner.txt gendiffcode.py) | $$(dir $$@)
540 $(call MSG_GENERATE,python,$@,$<)
541 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py regcombiner RegCombiner $(<D)
542
543$(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_viewport.txt gendiffcode.py) | $$(dir $$@)
544 $(call MSG_GENERATE,python,$@,$<)
545 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py viewport Viewport $(<D)
546
547$(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 $$@)
548 $(call MSG_GENERATE,python,$@,$<)
549 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_get.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
550
551$(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 $$@)
552 $(call MSG_GENERATE,python,$@,$<)
553 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_isenabled.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
554
555$(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 $$@)
556 $(call MSG_GENERATE,python,$@,$<)
557 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_defs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
558
559$(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 $$@)
560 $(call MSG_GENERATE,python,$@,$<)
561 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_funcs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
562
563
564#
565# VBoxOGLerrorspu
566# @remark See HostServices/OpenGL/Makefile for and explanation of the gl.h
567# and glu.h intermediate files on darwin.
568#
569VBoxOGLerrorspu_TEMPLATE = VBOXCROGLR3GUESTDLL
570if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
571 VBoxOGLerrorspu_INSTTYPE.win = none
572 VBoxOGLerrorspu_DEBUG_INSTTYPE.win = both
573endif
574VBoxOGLerrorspu_INTERMEDIATES = \
575 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
576VBoxOGLerrorspu_INCS += \
577 $(VBOX_GRAPHICS_INCS)
578if1of ($(KBUILD_TARGET), linux solaris freebsd)
579 VBoxOGLerrorspu_INCS += \
580 $(VBOX_GL_INCS)
581endif
582VBoxOGLerrorspu_SOURCES = \
583 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c \
584 error/errorspu_init.c
585VBoxOGLerrorspu_SOURCES.win = \
586 error/VBoxOGLerrorspu.rc
587VBoxOGLerrorspu_SOURCES.win.x86 = \
588 error/error.def
589VBoxOGLerrorspu_CLEAN = \
590 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c
591VBoxOGLerrorspu_LIBS = \
592 $(VBOX_LIB_OGL_CRUTIL)
593ifdef VBOX_WITH_CRHGSMI
594VBoxOGLerrorspu_DEFS.win += VBOX_WITH_CRHGSMI
595endif
596ifdef VBOX_WITH_WDDM
597VBoxOGLerrorspu_DEFS.win += VBOX_WITH_WDDM
598endif
599
600
601if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
602#
603# VBoxOGLerrorspu-x86 - x86 VBoxOGLerrorspu version built for amd64 build
604#
605DLLS.win.amd64 += VBoxOGLerrorspu-x86
606VBoxOGLerrorspu-x86_TEMPLATE = VBOXCROGLR3GUESTDLL
607VBoxOGLerrorspu-x86_EXTENDS = VBoxOGLerrorspu
608VBoxOGLerrorspu-x86_BLD_TRG_ARCH = x86
609VBoxOGLerrorspu-x86_LIBS = \
610 $(VBOX_LIB_OGL_CRUTIL_X86)
611VBoxOGLerrorspu-x86_DEFS = $(VBoxOGLerrorspu_DEFS) VBOX_WDDM_WOW64
612endif
613
614#
615# VBoxOGLhosterrorspu
616#
617VBoxOGLhosterrorspu_EXTENDS = VBoxOGLerrorspu
618VBoxOGLhosterrorspu_TEMPLATE = VBOXCROGLR3HOSTDLL
619if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
620 VBoxOGLhosterrorspu_INSTTYPE.win = both
621endif
622VBoxOGLhosterrorspu_LDFLAGS.darwin += $(VBoxOGLerrorspu_LDFLAGS.darwin) \
623 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhosterrorspu.dylib
624VBoxOGLhosterrorspu_LIBS = \
625 $(VBOX_LIB_OGL_HOSTCRUTIL) \
626 $(LIB_RUNTIME)
627
628#
629# Generate files for VBoxOGLerrorspu and VBoxOGLhosterrorspu.
630#
631$(VBOX_PATH_CROGL_GENFILES)/errorspu.c: $(PATH_SUB_CURRENT)/error/error.py $(VBOX_CROGL_API_FILES)
632 $(call MSG_GENERATE,python,$@,$<)
633 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
634include $(FILE_KBUILD_SUB_FOOTER)
635
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