VirtualBox

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

Last change on this file since 70199 was 70126, checked in by vboxsync, 7 years ago

Additions/x11/VBoxClient: split vmsvga service into separate X11 and drm ones.
bugref:8533: Additions/x11: fully support VMSVGA

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

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette