VirtualBox

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

Last change on this file since 67954 was 67043, checked in by vboxsync, 8 years ago

bugref:8533: Additions/x11: fully support VMSVGA
Add VBoxClient support for dynamic resizing with VMSVGA enabled. This is not yet started by default. VBoxClient --vmsvga should be run as root outside of an X session for recent versions of the Linux kernel and interacts with the SVGA kernel graphics driver. When run inside an X session it interacts with the X11 graphics driver.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.9 KB
Line 
1# $Id: Makefile.kmk 67043 2017-05-23 14:07:04Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest Addition X11 Client.
4#
5
6#
7# Copyright (C) 2006-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# 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_INCS = $(VBOX_GRAPHICS_INCS)
33VBoxClient_SOURCES = \
34 main.cpp
35VBoxClient_SOURCES += \
36 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-helper.cpp \
37 $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp \
38 clipboard.cpp \
39 display-svga.cpp
40VBoxClient_LIBPATH = \
41 $(VBOX_LIBPATH32_X11)
42VBoxClient_LIBS.freebsd = \
43 iconv
44VBoxClient_LIBS.linux = \
45 dl
46VBoxClient_LIBS.solaris = \
47 dl
48VBoxClient_LIBS = \
49 X11 \
50 Xrandr \
51 Xt
52
53# XXX: -L comes from the template, but not rpath
54VBoxClient_LDFLAGS.netbsd = \
55 -Wl,-rpath /usr/X11R7/lib
56
57ifdef VBOX_WITH_DRAG_AND_DROP
58 ifdef VBOX_DND_WITH_XTEST
59 VBoxClient_DEFS += VBOX_DND_WITH_XTEST
60 VBoxClient_LIBS += \
61 Xtst
62 endif
63endif
64
65# These are static replacements for gcc-specific parts of libstdc++
66VBoxClient_LIBS += \
67 supc++ \
68 gcc_eh
69ifdef VBOX_X11_SEAMLESS_GUEST
70 VBoxClient_DEFS += SEAMLESS_GUEST DYNAMIC_RESIZE
71 VBoxClient_SOURCES += \
72 seamless.cpp \
73 seamless-x11.cpp \
74 display.cpp \
75 hostversion.cpp \
76 check3d.cpp
77 VBoxClient_LIBS += \
78 Xext Xmu
79endif
80ifdef VBOX_WITH_GUEST_PROPS
81 VBoxClient_DEFS += VBOX_WITH_GUEST_PROPS
82endif
83ifdef VBOX_WITH_DRAG_AND_DROP
84 VBoxClient_DEFS += \
85 VBOX_WITH_DRAG_AND_DROP \
86 $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,)
87 VBoxClient_SOURCES += \
88 draganddrop.cpp
89 VBoxClient_LIBS += \
90 $(PATH_STAGE_LIB)/additions/VBoxDnDGuestR3Lib$(VBOX_SUFF_LIB)
91endif
92
93ifdef VBOX_X11_SEAMLESS_GUEST
94 if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_SDK)
95 if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
96
97# Set this in LocalConfig.kmk if you are working on the X11 clipboard service
98# to automatically run the unit test at build time.
99# OTHERS += $(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto.run
100
101 PROGRAMS += tstSeamlessX11-auto
102 tstSeamlessX11-auto_TEMPLATE = VBOXR3TSTEXE
103 tstSeamlessX11-auto_SOURCES = \
104 testcase/tstSeamlessX11-auto.cpp \
105 seamless-x11.cpp
106 tstSeamlessX11-auto_DEFS = TESTCASE
107 tstSeamlessX11-auto_LIBS = \
108 $(LIB_RUNTIME)
109
110 TESTING += $(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto
111$$(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto.run: \
112 $$(tstSeamlessX11-auto_1_STAGE_TARGET)
113 export VBOX_LOG_DEST=nofile; $(tstSeamlessX11-auto_1_STAGE_TARGET) quiet
114 $(QUIET)$(APPEND) -t "$@" "done"
115
116 #
117 # Additional testcase designed to be run manually, which initiates and starts the Linux
118 # guest client part of the seamless additions in the host, faking seamless events from
119 # the host and writing information about guest events to standard output.
120 #
121 PROGRAMS += tstSeamlessX11
122 tstSeamlessX11_TEMPLATE = VBOXR3TSTEXE
123 tstSeamlessX11_SOURCES = \
124 testcase/tstSeamlessX11.cpp \
125 seamless.cpp \
126 seamless-x11.cpp
127 tstSeamlessX11_LIBPATH = \
128 $(VBOX_LIBPATH_X11)
129 tstSeamlessX11_LIBS = \
130 $(LIB_RUNTIME) \
131 Xext \
132 Xmu \
133 X11
134 endif
135 endif
136endif
137
138include $(FILE_KBUILD_SUB_FOOTER)
139
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