VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/VBoxClient/Makefile.kmk@ 60378

Last change on this file since 60378 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: 3.7 KB
Line 
1# $Id: Makefile.kmk 58993 2015-12-04 16:26:50Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest Addition X11 Client.
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
18SUB_DEPTH = ../../../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21#
22# VBoxClient - clipboard and seamless.
23#
24PROGRAMS += VBoxClient
25
26VBoxClient_TEMPLATE = NewVBoxGuestR3Exe
27VBoxClient_DEFS += VBOX_X11_CLIPBOARD VBOX_WITH_HGCM
28ifdef VBOX_WITH_DBUS
29 VBoxClient_DEFS += VBOX_WITH_DBUS
30endif
31VBoxClient_DEFS.linux += _GNU_SOURCE
32VBoxClient_SOURCES = \
33 main.cpp
34VBoxClient_SOURCES += \
35 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-helper.cpp \
36 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp \
37 clipboard.cpp
38VBoxClient_LIBPATH = \
39 $(VBOX_LIBPATH32_X11)
40VBoxClient_LIBS.freebsd = \
41 iconv
42VBoxClient_LIBS.linux = \
43 dl
44VBoxClient_LIBS.solaris = \
45 dl
46VBoxClient_LIBS = \
47 X11 \
48 Xrandr \
49 Xt
50
51ifdef VBOX_WITH_DRAG_AND_DROP
52 ifdef VBOX_DND_WITH_XTEST
53 VBoxClient_DEFS += VBOX_DND_WITH_XTEST
54 VBoxClient_LIBS += \
55 Xtst
56 endif
57endif
58
59# These are static replacements for gcc-specific parts of libstdc++
60VBoxClient_LIBS += \
61 supc++ \
62 gcc_eh
63ifdef VBOX_X11_SEAMLESS_GUEST
64 VBoxClient_DEFS += SEAMLESS_GUEST DYNAMIC_RESIZE
65 VBoxClient_SOURCES += \
66 seamless.cpp \
67 seamless-x11.cpp \
68 display.cpp \
69 hostversion.cpp \
70 check3d.cpp
71 VBoxClient_LIBS += \
72 Xext Xmu
73endif
74ifdef VBOX_WITH_GUEST_PROPS
75 VBoxClient_DEFS += VBOX_WITH_GUEST_PROPS
76endif
77ifdef VBOX_WITH_DRAG_AND_DROP
78 VBoxClient_DEFS += \
79 VBOX_WITH_DRAG_AND_DROP \
80 $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,)
81 VBoxClient_SOURCES += \
82 draganddrop.cpp
83 VBoxClient_LIBS += \
84 $(PATH_STAGE_LIB)/additions/VBoxDnDGuestR3Lib$(VBOX_SUFF_LIB)
85endif
86
87ifdef VBOX_X11_SEAMLESS_GUEST
88 if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_SDK)
89 if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
90
91# Set this in LocalConfig.kmk if you are working on the X11 clipboard service
92# to automatically run the unit test at build time.
93# OTHERS += $(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto.run
94
95 PROGRAMS += tstSeamlessX11-auto
96 tstSeamlessX11-auto_TEMPLATE = VBOXR3TSTEXE
97 tstSeamlessX11-auto_SOURCES = \
98 testcase/tstSeamlessX11-auto.cpp \
99 seamless-x11.cpp
100 tstSeamlessX11-auto_DEFS = TESTCASE
101 tstSeamlessX11-auto_LIBS = \
102 $(LIB_RUNTIME)
103
104 TESTING += $(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto
105$$(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto.run: \
106 $$(tstSeamlessX11-auto_1_STAGE_TARGET)
107 export VBOX_LOG_DEST=nofile; $(tstSeamlessX11-auto_1_STAGE_TARGET) quiet
108 $(QUIET)$(APPEND) -t "$@" "done"
109
110 #
111 # Additional testcase designed to be run manually, which initiates and starts the Linux
112 # guest client part of the seamless additions in the host, faking seamless events from
113 # the host and writing information about guest events to standard output.
114 #
115 PROGRAMS += tstSeamlessX11
116 tstSeamlessX11_TEMPLATE = VBOXR3TSTEXE
117 tstSeamlessX11_SOURCES = \
118 testcase/tstSeamlessX11.cpp \
119 seamless.cpp \
120 seamless-x11.cpp
121 tstSeamlessX11_LIBPATH = \
122 $(VBOX_LIBPATH_X11)
123 tstSeamlessX11_LIBS = \
124 $(LIB_RUNTIME) \
125 Xext \
126 Xmu \
127 X11
128 endif
129 endif
130endif
131
132include $(FILE_KBUILD_SUB_FOOTER)
133
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