VirtualBox

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

Last change on this file since 74164 was 72152, checked in by vboxsync, 7 years ago

Additions/x11/VBoxClient: clean up the Make file and remove unneeded defines.

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