VirtualBox

source: vbox/trunk/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk@ 58993

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

bugref:8153: vboxvideo: ABI issues / software rendering on Linux guests: add a new service to VBoxClient to test whether accelerated 3D pass-through is currently available by trying to connect to the HGCM service and signalling success or failure in the process exit code. Add generic HGCM connect and disconnect functionality to VBoxGuestR3Lib to support this. Add the concept of non-daemon services to VBoxClient as we do not need to daemonise or create a pid-file for this quick test.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.8 KB
Line 
1# $Id: Makefile.kmk 58993 2015-12-04 16:26:50Z vboxsync $
2## @file
3# Sub-Makefile for the common guest addition code library.
4#
5
6#
7# Copyright (C) 2006-2015 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# The contents of this file may alternatively be used under the terms
18# of the Common Development and Distribution License Version 1.0
19# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20# VirtualBox OSE distribution, in which case the provisions of the
21# CDDL are applicable instead of those of the GPL.
22#
23# You may elect to license modified versions of this file under the
24# terms and conditions of either the GPL or the CDDL or both.
25#
26
27SUB_DEPTH = ../../../../..
28include $(KBUILD_PATH)/subheader.kmk
29
30#
31# Target config.
32#
33if defined(VBOX_WITH_ADDITION_DRIVERS) && !defined(VBOX_ONLY_VALIDATIONKIT)
34 LIBRARIES += \
35 VBoxGuestR0Lib \
36 VBoxGuestR0LibBase
37endif
38LIBRARIES += \
39 VBoxGuestR3Lib \
40 VBoxGuestR3LibShared
41ifndef VBOX_ONLY_VALIDATIONKIT
42 if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
43 LIBRARIES += \
44 VBoxGuestR3LibXFree86
45 endif
46 if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
47 LIBRARIES += \
48 VBoxGuestR3LibXOrg
49 endif
50endif
51LIBRARIES.win.amd64 += VBoxGuestR3Lib-x86 VBoxGuestR3LibShared-x86
52
53
54#
55# VBoxGuestR0Lib
56#
57VBoxGuestR0Lib_TEMPLATE = VBOXGUESTR0LIB
58VBoxGuestR0Lib_DEFS = VBOX_WITH_HGCM \
59 $(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP,) \
60 $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,)
61VBoxGuestR0Lib_INCS = \
62 $(VBoxGuestR0Lib_0_OUTDIR)
63VBoxGuestR0Lib_SOURCES = \
64 GenericRequest.cpp \
65 SysHlp.cpp \
66 PhysHeap.cpp \
67 Init.cpp \
68 Mouse.cpp \
69 VMMDev.cpp \
70 HGCM.cpp \
71 VBoxGuestR0LibSharedFolders.c \
72 VBoxGuestR0LibCrOgl.cpp \
73 VbglR0CanUsePhysPageList.cpp
74
75#
76# VBoxGuestR0LibBase
77#
78VBoxGuestR0LibBase_TEMPLATE = VBOXGUESTR0LIB
79VBoxGuestR0LibBase_DEFS = VBOX_WITH_HGCM VBGL_VBOXGUEST \
80 $(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP,) \
81 $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,)
82VBoxGuestR0LibBase_INCS = $(VBoxGuestR0Lib_INCS)
83VBoxGuestR0LibBase_INCS.win = $(VBoxGuestR0Lib_INCS.win)
84VBoxGuestR0LibBase_SOURCES = \
85 GenericRequest.cpp \
86 SysHlp.cpp \
87 PhysHeap.cpp \
88 Init.cpp \
89 VMMDev.cpp \
90 HGCMInternal.cpp \
91 VbglR0CanUsePhysPageList.cpp
92
93#
94# VBoxGuestR3Lib
95#
96VBoxGuestR3Lib_TEMPLATE = VBOXGUESTR3LIB
97VBoxGuestR3Lib_DEFS = \
98 VBOX_WITH_HGCM \
99 $(if $(VBOX_WITH_GUEST_PROPS),VBOX_WITH_GUEST_PROPS,) \
100 $(if $(VBOX_WITH_SHARED_FOLDERS),VBOX_WITH_SHARED_FOLDERS,) \
101 $(if $(VBOX_WITH_GUEST_CONTROL),VBOX_WITH_GUEST_CONTROL,)
102VBoxGuestR3Lib_SOURCES = \
103 VBoxGuestR3Lib.cpp \
104 VBoxGuestR3LibAdditions.cpp \
105 VBoxGuestR3LibAutoLogon.cpp \
106 VBoxGuestR3LibBalloon.cpp \
107 VBoxGuestR3LibClipboard.cpp \
108 VBoxGuestR3LibCoreDump.cpp \
109 VBoxGuestR3LibCpuHotPlug.cpp \
110 VBoxGuestR3LibCredentials.cpp \
111 VBoxGuestR3LibEvent.cpp \
112 VBoxGuestR3LibGuestUser.cpp \
113 VBoxGuestR3LibGR.cpp \
114 VBoxGuestR3LibHGCM.cpp \
115 VBoxGuestR3LibHostChannel.cpp \
116 VBoxGuestR3LibLog.cpp \
117 VBoxGuestR3LibMisc.cpp \
118 VBoxGuestR3LibStat.cpp \
119 VBoxGuestR3LibTime.cpp \
120 VBoxGuestR3LibModule.cpp \
121 VBoxGuestR3LibPidFile.cpp
122ifneq ($(KBUILD_TARGET),win) ## @todo get rid of this hack (as soon as it's all implemented / #defined).
123 VBoxGuestR3Lib_SOURCES += \
124 VBoxGuestR3LibDaemonize.cpp \
125 VBoxGuestR3LibMouse.cpp \
126 VBoxGuestR3LibSeamless.cpp \
127 VBoxGuestR3LibVideo.cpp
128endif
129ifdef VBOX_WITH_GUEST_PROPS
130 VBoxGuestR3Lib_SOURCES += \
131 VBoxGuestR3LibGuestProp.cpp \
132 VBoxGuestR3LibHostVersion.cpp
133endif
134ifdef VBOX_WITH_SHARED_FOLDERS
135 VBoxGuestR3Lib_SOURCES += \
136 VBoxGuestR3LibSharedFolders.cpp
137endif
138ifdef VBOX_WITH_GUEST_CONTROL
139 VBoxGuestR3Lib_SOURCES += \
140 VBoxGuestR3LibGuestCtrl.cpp
141endif
142ifdef VBOX_WITH_DRAG_AND_DROP
143 VBoxGuestR3Lib_DEFS += \
144 VBOX_WITH_DRAG_AND_DROP \
145 $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,)
146 VBoxGuestR3Lib_SOURCES += \
147 VBoxGuestR3LibDragAndDrop.cpp
148endif
149
150VBoxGuestR3LibAdditions.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
151
152#
153# VBoxGuestR3LibShared - a PIC variant of VBoxGuestR3Lib for linking into .so/.dll/.dylib.
154#
155VBoxGuestR3LibShared_TEMPLATE = VBOXGUESTR3DLL
156VBoxGuestR3LibShared_DEFS := $(VBoxGuestR3Lib_DEFS)
157VBoxGuestR3LibShared_SOURCES := $(VBoxGuestR3Lib_SOURCES)
158VBoxGuestR3LibShared_INST := $(INST_ADDITIONS_LIB)
159
160
161#
162# VBoxGuestR3Lib-x86 - an x86 (32-bit) variant of VBoxGuestR3Lib for 64-bit Windows.
163#
164VBoxGuestR3Lib-x86_EXTENDS := VBoxGuestR3Lib
165VBoxGuestR3Lib-x86_BLD_TRG_ARCH := x86
166
167
168#
169# VBoxGuestR3LibShared-x86 - an x86 (32-bit) variant of VBoxGuestR3LibShared for 64-bit Windows.
170#
171VBoxGuestR3LibShared-x86_EXTENDS := VBoxGuestR3LibShared
172VBoxGuestR3LibShared-x86_BLD_TRG_ARCH := x86
173
174
175#
176# VBoxGuestR3LibXFree86 - a reduced version of the guest library which uses
177# the X server runtime instead of IPRT, for use with old servers where the
178# C library is not available.
179#
180VBoxGuestR3LibXFree86_TEMPLATE = VBOXGUESTR3XF86LIB
181VBoxGuestR3LibXFree86_DEFS = \
182 VBOX_WITH_HGCM \
183 VBOX_VBGLR3_XFREE86 \
184 RTMEM_NO_WRAP_TO_EF_APIS \
185 $(if $(VBOX_WITH_GUEST_PROPS),VBOX_WITH_GUEST_PROPS,) \
186 $(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP,) \
187 $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,)
188VBoxGuestR3LibXFree86_SOURCES = \
189 VBoxGuestR3Lib.cpp \
190 VBoxGuestR3LibGR.cpp \
191 $(if $(VBOX_WITH_GUEST_PROPS),VBoxGuestR3LibGuestProp.cpp,) \
192 VBoxGuestR3LibMouse.cpp \
193 VBoxGuestR3LibMisc.cpp \
194 VBoxGuestR3LibSeamless.cpp \
195 VBoxGuestR3LibVideo.cpp \
196 VBoxGuestR3LibRuntimeXF86.cpp
197VBoxGuestR3LibXFree86_INCS = \
198 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/common/ \
199 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support \
200 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/include \
201 $(VBOX_PATH_X11_XFREE_4_3)/include \
202 $(VBOX_PATH_X11_XFREE_4_3)/exports/include/X11
203
204#
205# VBoxGuestR3LibXOrg - a reduced version of the guest library which uses
206# the C server runtime instead of IPRT.
207#
208VBoxGuestR3LibXOrg_TEMPLATE = VBOXGUESTR3XORGLIB
209VBoxGuestR3LibXOrg_DEFS = \
210 VBOX_WITH_HGCM \
211 VBOX_VBGLR3_XORG \
212 RTMEM_NO_WRAP_TO_EF_APIS \
213 IN_RT_STATIC \
214 $(if $(VBOX_WITH_GUEST_PROPS),VBOX_WITH_GUEST_PROPS,) \
215 $(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP,) \
216 $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,)
217VBoxGuestR3LibXOrg_SOURCES = $(VBoxGuestR3LibXFree86_SOURCES)
218
219VBoxGuestR3LibRuntimeXF86.cpp_CXXFLAGS = -Wno-shadow
220
221include $(FILE_KBUILD_SUB_FOOTER)
222
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