[6202] | 1 | # $Id: Makefile.kmk 102046 2023-11-09 18:03:32Z vboxsync $
|
---|
| 2 | ## @file
|
---|
[6756] | 3 | # Sub-Makefile for the VirtualBox Guest Addition X11 Client.
|
---|
[6202] | 4 | #
|
---|
| 5 |
|
---|
| 6 | #
|
---|
[98103] | 7 | # Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
---|
[6202] | 8 | #
|
---|
[96407] | 9 | # This file is part of VirtualBox base platform packages, as
|
---|
| 10 | # available from https://www.virtualbox.org.
|
---|
[6202] | 11 | #
|
---|
[96407] | 12 | # This program is free software; you can redistribute it and/or
|
---|
| 13 | # modify it under the terms of the GNU General Public License
|
---|
| 14 | # as published by the Free Software Foundation, in version 3 of the
|
---|
| 15 | # License.
|
---|
| 16 | #
|
---|
| 17 | # This program is distributed in the hope that it will be useful, but
|
---|
| 18 | # WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
| 20 | # General Public License for more details.
|
---|
| 21 | #
|
---|
| 22 | # You should have received a copy of the GNU General Public License
|
---|
| 23 | # along with this program; if not, see <https://www.gnu.org/licenses>.
|
---|
| 24 | #
|
---|
| 25 | # SPDX-License-Identifier: GPL-3.0-only
|
---|
| 26 | #
|
---|
[6202] | 27 |
|
---|
[10128] | 28 | SUB_DEPTH = ../../../../..
|
---|
[41477] | 29 | include $(KBUILD_PATH)/subheader.kmk
|
---|
[6202] | 30 |
|
---|
[83224] | 31 | # Use header files from our tree for randr and xinerama. and don't link but rather dlopen libXrand
|
---|
[91758] | 32 | # This is mostly because the GA build boxes can have a very old xrandr lib, so instead of linking we dlopen.
|
---|
[98416] | 33 | VBOX_WITH_DISTRO_XRAND_XINERAMA =
|
---|
[83224] | 34 |
|
---|
[99564] | 35 | # We want to lazy load as much stuff as possible. See #10427.
|
---|
| 36 | VBOX_WITH_VBOXCLIENT_LAZY_LOAD := 1
|
---|
| 37 |
|
---|
[86871] | 38 | # We don't yet have a seamless mode compilation flag, so define it here unconditionally.
|
---|
[98416] | 39 | VBOX_WITH_SEAMLESS := 1
|
---|
[86871] | 40 |
|
---|
[6579] | 41 | #
|
---|
[6687] | 42 | # VBoxClient - clipboard and seamless.
|
---|
[6579] | 43 | #
|
---|
[6595] | 44 | PROGRAMS += VBoxClient
|
---|
[85976] | 45 | #
|
---|
| 46 | # Please make sure that you grep the source tree and modify all occurences accordingly
|
---|
| 47 | # if you rename the following program name.
|
---|
| 48 | #
|
---|
[93385] | 49 | PROGRAMS.linux += VBoxDRMClient
|
---|
[7265] | 50 |
|
---|
[101878] | 51 | ifdef VBOX_WITH_WAYLAND_ADDITIONS
|
---|
| 52 | PROGRAMS.linux += vboxwl
|
---|
| 53 | endif
|
---|
| 54 |
|
---|
[99585] | 55 | # Common Guest / Host sources.
|
---|
| 56 | VBOX_GH_SOURCES := \
|
---|
[99620] | 57 | $(PATH_ROOT)/src/VBox/GuestHost/DisplayServerType.cpp
|
---|
[99585] | 58 |
|
---|
[98196] | 59 | VBoxClient_TEMPLATE = VBoxGuestR3Exe
|
---|
[11820] | 60 | VBoxClient_DEFS += VBOX_X11_CLIPBOARD VBOX_WITH_HGCM
|
---|
[95259] | 61 | ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
|
---|
| 62 | VBoxClient_DEFS += VBOX_BUILD_TARGET="$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)"
|
---|
| 63 | else
|
---|
| 64 | VBoxClient_DEFS += VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\"
|
---|
| 65 | endif
|
---|
[23859] | 66 | ifdef VBOX_WITH_DBUS
|
---|
| 67 | VBoxClient_DEFS += VBOX_WITH_DBUS
|
---|
| 68 | endif
|
---|
[83225] | 69 |
|
---|
[83227] | 70 | VBoxClient_DEFS.linux += _GNU_SOURCE
|
---|
| 71 | VBoxClient_INCS = $(VBOX_GRAPHICS_INCS)
|
---|
[83226] | 72 | VBoxClient_INCS += ../x11include/panoramiXproto-1.1
|
---|
| 73 | VBoxClient_INCS += ../x11include/libXrandr-1.5.2
|
---|
[95909] | 74 | VBoxClient_INCS += ../x11include/randrproto-1.5.0
|
---|
[6687] | 75 | VBoxClient_SOURCES = \
|
---|
[85977] | 76 | main.cpp \
|
---|
[86871] | 77 | logging.cpp
|
---|
[100246] | 78 |
|
---|
| 79 |
|
---|
[99585] | 80 | VBoxClient_SOURCES += $(VBOX_GH_SOURCES)
|
---|
[78162] | 81 |
|
---|
[98196] | 82 | VBoxDRMClient_TEMPLATE = VBoxGuestR3Exe
|
---|
[95259] | 83 | ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
|
---|
| 84 | VBoxDRMClient_DEFS += VBOX_BUILD_TARGET="$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)"
|
---|
| 85 | else
|
---|
| 86 | VBoxDRMClient_DEFS += VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\"
|
---|
| 87 | endif
|
---|
[84547] | 88 | VBoxDRMClient_SOURCES = \
|
---|
[98416] | 89 | display-drm.cpp \
|
---|
| 90 | display-ipc.cpp \
|
---|
| 91 | logging.cpp
|
---|
[99585] | 92 | VBoxDRMClient_SOURCES += $(VBOX_GH_SOURCES)
|
---|
[84538] | 93 |
|
---|
[72137] | 94 | VBoxClient_SOURCES.linux = \
|
---|
[85977] | 95 | chk_stubs.c
|
---|
[6687] | 96 | VBoxClient_LIBPATH = \
|
---|
[85977] | 97 | $(VBOX_LIBPATH32_X11)
|
---|
[16014] | 98 | VBoxClient_LIBS.freebsd = \
|
---|
[85977] | 99 | iconv
|
---|
[25473] | 100 | VBoxClient_LIBS.linux = \
|
---|
[85977] | 101 | dl
|
---|
[80716] | 102 | VBoxClient_LIBS.netbsd = \
|
---|
[85977] | 103 | crypt
|
---|
[25473] | 104 | VBoxClient_LIBS.solaris = \
|
---|
[85977] | 105 | dl
|
---|
[99564] | 106 | ifndef VBOX_WITH_VBOXCLIENT_LAZY_LOAD
|
---|
| 107 | VBoxClient_LIBS = \
|
---|
[99565] | 108 | X11 Xt Xext Xmu
|
---|
[99564] | 109 | endif
|
---|
[83234] | 110 | ifdef VBOX_WITH_DISTRO_XRAND_XINERAMA
|
---|
| 111 | VBoxClient_DEFS += WITH_DISTRO_XRAND_XINERAMA
|
---|
[99564] | 112 | ifndef VBOX_WITH_VBOXCLIENT_LAZY_LOAD
|
---|
| 113 | VBoxClient_LIBS += Xrandr
|
---|
| 114 | endif
|
---|
[83234] | 115 | endif
|
---|
| 116 |
|
---|
[63539] | 117 | # XXX: -L comes from the template, but not rpath
|
---|
| 118 | VBoxClient_LDFLAGS.netbsd = \
|
---|
[85977] | 119 | -Wl,-rpath /usr/X11R7/lib
|
---|
[63539] | 120 |
|
---|
[50724] | 121 | ifdef VBOX_WITH_DRAG_AND_DROP
|
---|
| 122 | ifdef VBOX_DND_WITH_XTEST
|
---|
[86871] | 123 | VBoxClient_DEFS += VBOX_DND_WITH_XTEST
|
---|
| 124 | VBoxClient_LIBS += \
|
---|
[98416] | 125 | Xtst
|
---|
[50724] | 126 | endif
|
---|
| 127 | endif
|
---|
| 128 |
|
---|
[72137] | 129 | # This forces the memcpy references in the static libraries to go to
|
---|
| 130 | # __wrap_memcpy, which we can wrap around memcpy@GLIBC_2.2.5. I do not know
|
---|
| 131 | # how else to do that without recompiling or implementing our own memcpy.
|
---|
[72114] | 132 | ifeq ($(KBUILD_TARGET),linux)
|
---|
[86871] | 133 | VBoxClient_LDFLAGS.amd64 += \
|
---|
[98416] | 134 | -Wl,--wrap=memcpy
|
---|
[70936] | 135 | endif
|
---|
| 136 |
|
---|
[23859] | 137 | ifdef VBOX_WITH_GUEST_PROPS
|
---|
[86871] | 138 | VBoxClient_DEFS += VBOX_WITH_GUEST_PROPS
|
---|
| 139 | VBoxClient_SOURCES += \
|
---|
[98416] | 140 | hostversion.cpp
|
---|
[93469] | 141 | VBoxDRMClient_DEFS += VBOX_WITH_GUEST_PROPS
|
---|
[23859] | 142 | endif
|
---|
[78307] | 143 |
|
---|
[39454] | 144 | ifdef VBOX_WITH_DRAG_AND_DROP
|
---|
[86871] | 145 | VBoxClient_DEFS += \
|
---|
[98416] | 146 | VBOX_WITH_DRAG_AND_DROP \
|
---|
| 147 | $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,)
|
---|
[86871] | 148 | VBoxClient_SOURCES += \
|
---|
[99595] | 149 | draganddrop.cpp \
|
---|
| 150 | draganddrop-x11.cpp
|
---|
[86871] | 151 | VBoxClient_LIBS += \
|
---|
[98416] | 152 | $(VBOX_LIB_VBGL_R3) \
|
---|
| 153 | $(PATH_STAGE_LIB)/additions/VBoxDnDGuestR3Lib$(VBOX_SUFF_LIB)
|
---|
[39454] | 154 | endif
|
---|
[6687] | 155 |
|
---|
[86871] | 156 | ifdef VBOX_WITH_SEAMLESS
|
---|
| 157 | VBoxClient_DEFS += VBOX_WITH_SEAMLESS
|
---|
| 158 | VBoxClient_SOURCES += \
|
---|
[98416] | 159 | seamless.cpp \
|
---|
| 160 | seamless-x11.cpp
|
---|
[86871] | 161 | endif
|
---|
| 162 |
|
---|
| 163 | ifdef VBOX_WITH_VMSVGA
|
---|
| 164 | VBoxClient_DEFS += VBOX_WITH_VMSVGA
|
---|
| 165 | VBoxClient_SOURCES += \
|
---|
[97960] | 166 | display.cpp \
|
---|
| 167 | display-svga-x11.cpp \
|
---|
| 168 | display-svga-xf86cvt.cpp
|
---|
[93385] | 169 | VBoxClient_SOURCES.linux += \
|
---|
[97960] | 170 | display-svga-session.cpp \
|
---|
| 171 | display-ipc.cpp \
|
---|
| 172 | display-helper-gnome3.cpp \
|
---|
| 173 | display-helper-generic.cpp
|
---|
[93371] | 174 |
|
---|
[98416] | 175 | ### include $(PATH_SUB_CURRENT)/helpers/Makefile.kmk
|
---|
[86871] | 176 | endif
|
---|
| 177 |
|
---|
[78307] | 178 | ifdef VBOX_WITH_SHARED_CLIPBOARD
|
---|
[102043] | 179 |
|
---|
| 180 | ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
|
---|
| 181 | SharedClipboardTransfersDefs = VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS VBOX_WITH_SHARED_CLIPBOARD_GUEST
|
---|
| 182 | SharedClipboardTransfersSources = \
|
---|
| 183 | $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-transfers.cpp \
|
---|
| 184 | $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardPath.cpp
|
---|
| 185 | ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS_HTTP
|
---|
| 186 | SharedClipboardTransfersDefs += VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS_HTTP
|
---|
| 187 | SharedClipboardTransfersSources += \
|
---|
| 188 | $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-transfers-http.cpp
|
---|
| 189 | endif
|
---|
| 190 | endif
|
---|
| 191 |
|
---|
[87685] | 192 | VBoxClient_DEFS += VBOX_WITH_SHARED_CLIPBOARD
|
---|
[86871] | 193 | VBoxClient_SOURCES += \
|
---|
[98416] | 194 | $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp \
|
---|
| 195 | $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-x11.cpp \
|
---|
[99590] | 196 | clipboard.cpp \
|
---|
[101878] | 197 | clipboard-common.cpp \
|
---|
[99590] | 198 | clipboard-x11.cpp
|
---|
[102043] | 199 |
|
---|
| 200 | VBoxClient_DEFS += $(SharedClipboardTransfersDefs)
|
---|
| 201 | VBoxClient_SOURCES += $(SharedClipboardTransfersSources)
|
---|
| 202 |
|
---|
[102032] | 203 | ifdef VBOX_WITH_WAYLAND_ADDITIONS
|
---|
[102046] | 204 | VBoxClient_DEFS.linux += VBOX_WITH_WAYLAND_ADDITIONS
|
---|
| 205 | VBoxClient_INCS.linux += ../wlInclude/
|
---|
| 206 | VBoxClient_SOURCES.linux += \
|
---|
[102032] | 207 | wayland-helper-dcp.cpp \
|
---|
| 208 | wayland-helper-gtk.cpp \
|
---|
| 209 | wayland-helper.cpp \
|
---|
| 210 | wayland.cpp \
|
---|
| 211 | wayland-helper-ipc.cpp \
|
---|
[102043] | 212 | $(PATH_ROOT)/src/VBox/GuestHost/common/mime-type-converter.cpp \
|
---|
[102032] | 213 | ../wlInclude/wayland-protocol.c \
|
---|
| 214 | ../wlInclude/wlr-data-control-unstable-v1.c
|
---|
| 215 | endif
|
---|
[78307] | 216 | endif
|
---|
| 217 |
|
---|
[99564] | 218 | ifdef VBOX_WITH_VBOXCLIENT_LAZY_LOAD
|
---|
[100576] | 219 | # Macro for generating the lazy loading assembly stub loader for a specific .def file.
|
---|
| 220 | #
|
---|
| 221 | # @param 1 Absolute path of the .def file to use as a template.
|
---|
| 222 | # @param 2 The library name w/o suffix (e.g. "libFoo").
|
---|
| 223 | # @param 3 The library version, to be appended to the library .so name (e.g. "6.42" -> "libFoo.so.6.42").
|
---|
| 224 | define def_libToLazyLoad
|
---|
[100578] | 225 | VBoxClient_SOURCES += \
|
---|
| 226 | $$(VBoxClient_0_OUTDIR)/$(2)LazyLoad.asm
|
---|
| 227 | VBoxClient_CLEAN += \
|
---|
| 228 | $$(VBoxClient_0_OUTDIR)/$(2)LazyLoad.asm
|
---|
[100585] | 229 | $$$$(VBoxClient_0_OUTDIR)/$(2)LazyLoad.asm: $$(PATH_ROOT)/src/VBox/GuestHost/$(2).def $(VBOX_DEF_2_LAZY_LOAD) | $$$$(dir $$@)
|
---|
| 230 | $$(call MSG_TOOL,VBoxDef2LazyLoad,$$(PATH_ROOT)/src/VBox/GuestHost/$(2).def,$$@)
|
---|
| 231 | $$(eval VBOX_VBOXCLIENT_LIB_TO_LAZYLOAD_SUFF=$$$$(if $(3),$(SUFF_DLL).$(3),$(SUFF_DLL)))
|
---|
[100578] | 232 | $$(QUIET)$$(RM) -f -- "$$@"
|
---|
[100585] | 233 | $$(VBOX_DEF_2_LAZY_LOAD) --system --library $(2)$$(VBOX_VBOXCLIENT_LIB_TO_LAZYLOAD_SUFF) --output "$$@" $$(PATH_ROOT)/src/VBox/GuestHost/$(2).def
|
---|
[100576] | 234 | endef # VBOXCLIENT_LAZYLOAD_GEN_ASM_FN
|
---|
| 235 |
|
---|
[99564] | 236 | VBoxClient_DEFS += VBOX_WITH_VBOXCLIENT_LAZY_LOAD
|
---|
| 237 |
|
---|
[100576] | 238 | # Define library versions to use, depending on the OS we build for.
|
---|
| 239 | # Note: Solaris does *not* have any of those libs with a version suffix, so simply keep those empty (= unset) then.
|
---|
| 240 | if1of ($(KBUILD_TARGET), linux)
|
---|
[100582] | 241 | VBOX_VBOXCLIENT_LIBX11_VER = 6
|
---|
| 242 | VBOX_VBOXCLIENT_LIBXT_VER = 6
|
---|
| 243 | VBOX_VBOXCLIENT_LIBXMU_VER = 6
|
---|
| 244 | VBOX_VBOXCLIENT_LIBXRANDR_VER = 2
|
---|
[101878] | 245 | VBOX_VBOXCLIENT_LIBWAYLANDCLIENT_VER = 0
|
---|
[100576] | 246 | endif
|
---|
[100584] | 247 | ## Dynamic import no. 1: libX11.so
|
---|
[100582] | 248 | $(evalcall2 def_libToLazyLoad,$(PATH_ROOT)/src/VBox/GuestHost/libX11.def,libX11,$(VBOX_VBOXCLIENT_LIBX11_VER))
|
---|
[100584] | 249 | ## Dynamic import no. 2: libXt.so
|
---|
[100582] | 250 | $(evalcall2 def_libToLazyLoad,$(PATH_ROOT)/src/VBox/GuestHost/libXt.def,libXt,$(VBOX_VBOXCLIENT_LIBXT_VER))
|
---|
[100584] | 251 | ## Dynamic import no. 3: libXmu.so
|
---|
[100582] | 252 | $(evalcall2 def_libToLazyLoad,$(PATH_ROOT)/src/VBox/GuestHost/libXmu.def,libXmu,$(VBOX_VBOXCLIENT_LIBXMU_VER))
|
---|
[100584] | 253 | ## Dynamic import no. 4: libXrandr.so
|
---|
[100582] | 254 | $(evalcall2 def_libToLazyLoad,$(PATH_ROOT)/src/VBox/GuestHost/libXrandr.def,libXrandr,$(VBOX_VBOXCLIENT_LIBXRANDR_VER))
|
---|
[101878] | 255 | ## Dynamic import no. 5: libwayland-client.so
|
---|
| 256 | $(evalcall2 def_libToLazyLoad,$(PATH_ROOT)/src/VBox/GuestHost/libwayland-client.def,libwayland-client,$(VBOX_VBOXCLIENT_LIBWAYLANDCLIENT_VER))
|
---|
[99564] | 257 | endif
|
---|
| 258 |
|
---|
[101878] | 259 | ifdef VBOX_WITH_WAYLAND_ADDITIONS
|
---|
| 260 | define def_libToLazyLoad2
|
---|
| 261 | vboxwl_SOURCES += \
|
---|
| 262 | $$(vboxwl_0_OUTDIR)/$(2)LazyLoad.asm
|
---|
| 263 | vboxwl_CLEAN += \
|
---|
| 264 | $$(vboxwl_0_OUTDIR)/$(2)LazyLoad.asm
|
---|
| 265 | $$$$(vboxwl_0_OUTDIR)/$(2)LazyLoad.asm: $$(PATH_ROOT)/src/VBox/GuestHost/$(2).def $(VBOX_DEF_2_LAZY_LOAD) | $$$$(dir $$@)
|
---|
| 266 | $$(call MSG_TOOL,VBoxDef2LazyLoad,$$(PATH_ROOT)/src/VBox/GuestHost/$(2).def,$$@)
|
---|
| 267 | $$(eval VBOX_VBOXWL_LIB_TO_LAZYLOAD_SUFF=$$$$(if $(3),$(SUFF_DLL).$(3),$(SUFF_DLL)))
|
---|
| 268 | $$(QUIET)$$(RM) -f -- "$$@"
|
---|
| 269 | $$(VBOX_DEF_2_LAZY_LOAD) --system --library $(2)$$(VBOX_VBOXWL_LIB_TO_LAZYLOAD_SUFF) --output "$$@" $$(PATH_ROOT)/src/VBox/GuestHost/$(2).def
|
---|
| 270 | endef
|
---|
| 271 |
|
---|
| 272 | vboxwl_TEMPLATE = VBoxGuestR3Exe
|
---|
| 273 | vboxwl_DEFS += VBOX_WITH_SHARED_CLIPBOARD
|
---|
| 274 | ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
|
---|
| 275 | vboxwl_DEFS += VBOX_BUILD_TARGET="$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)"
|
---|
| 276 | else
|
---|
| 277 | vboxwl_DEFS += VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\"
|
---|
| 278 | endif
|
---|
| 279 | vboxwl_SOURCES = \
|
---|
| 280 | vboxwl.cpp \
|
---|
| 281 | logging.cpp \
|
---|
| 282 | clipboard-common.cpp \
|
---|
| 283 | wayland-helper-ipc.cpp \
|
---|
| 284 | wayland-helper.cpp \
|
---|
| 285 | $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp \
|
---|
| 286 | $(PATH_ROOT)/src/VBox/GuestHost/common/mime-type-converter.cpp
|
---|
| 287 | vboxwl_SOURCES += $(VBOX_GH_SOURCES)
|
---|
| 288 |
|
---|
[102043] | 289 | vboxwl_DEFS += $(SharedClipboardTransfersDefs)
|
---|
| 290 | vboxwl_SOURCES += $(SharedClipboardTransfersSources)
|
---|
| 291 |
|
---|
[101878] | 292 | VBOX_VBOXWL_LIBWAYLANDCLIENT_VER = 0
|
---|
| 293 | VBOX_VBOXWL_LIBGTK3_VER = 0
|
---|
[101882] | 294 | VBOX_VBOXWL_LIBGIO20_VER = 0
|
---|
| 295 | VBOX_VBOXWL_LIBGOBJECT20_VER = 0
|
---|
| 296 | VBOX_VBOXWL_LIBGLIB20_VER = 0
|
---|
[101878] | 297 |
|
---|
| 298 | ## Dynamic import no. 5: libwayland-client.so
|
---|
| 299 | $(evalcall2 def_libToLazyLoad2,$(PATH_ROOT)/src/VBox/GuestHost/libwayland-client.def,libwayland-client,$(VBOX_VBOXWL_LIBWAYLANDCLIENT_VER))
|
---|
| 300 | ## Dynamic import no. 6: libgtk-3.so
|
---|
| 301 | $(evalcall2 def_libToLazyLoad2,$(PATH_ROOT)/src/VBox/GuestHost/libgtk-3.def,libgtk-3,$(VBOX_VBOXWL_LIBGTK3_VER))
|
---|
[101882] | 302 | ## Dynamic import no. 7: libgio-2.0.so
|
---|
| 303 | $(evalcall2 def_libToLazyLoad2,$(PATH_ROOT)/src/VBox/GuestHost/libgio-2.0.def,libgio-2.0,$(VBOX_VBOXWL_LIBGIO20_VER))
|
---|
| 304 | ## Dynamic import no. 8: libgobject-2.0.so
|
---|
| 305 | $(evalcall2 def_libToLazyLoad2,$(PATH_ROOT)/src/VBox/GuestHost/libgobject-2.0.def,libgobject-2.0,$(VBOX_VBOXWL_LIBGOBJECT20_VER))
|
---|
| 306 | ## Dynamic import no. 9: libglib-2.0.so
|
---|
| 307 | $(evalcall2 def_libToLazyLoad2,$(PATH_ROOT)/src/VBox/GuestHost/libglib-2.0.def,libglib-2.0,$(VBOX_VBOXWL_LIBGLIB20_VER))
|
---|
[101878] | 308 | endif
|
---|
| 309 |
|
---|
[72152] | 310 | if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_SDK)
|
---|
| 311 | if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
|
---|
[6687] | 312 |
|
---|
[98416] | 313 | # Set this in LocalConfig.kmk if you are working on the X11 clipboard service
|
---|
| 314 | # to automatically run the unit test at build time.
|
---|
| 315 | # OTHERS += $(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto.run
|
---|
[21207] | 316 |
|
---|
[72152] | 317 | PROGRAMS += tstSeamlessX11-auto
|
---|
[98169] | 318 | tstSeamlessX11-auto_TEMPLATE = VBoxR3TstExe
|
---|
[72152] | 319 | tstSeamlessX11-auto_SOURCES = \
|
---|
[98416] | 320 | testcase/tstSeamlessX11-auto.cpp \
|
---|
| 321 | seamless-x11.cpp
|
---|
[72152] | 322 | tstSeamlessX11-auto_DEFS = TESTCASE
|
---|
| 323 | tstSeamlessX11-auto_LIBS = \
|
---|
[98416] | 324 | $(LIB_RUNTIME)
|
---|
[21207] | 325 |
|
---|
[72152] | 326 | TESTING += $(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto
|
---|
[98416] | 327 | $$(tstSeamlessX11-auto_0_OUTDIR)/tstSeamlessX11-auto.run: \
|
---|
| 328 | $$(tstSeamlessX11-auto_1_STAGE_TARGET)
|
---|
[85977] | 329 | export VBOX_LOG_DEST=nofile; $(tstSeamlessX11-auto_1_STAGE_TARGET) quiet
|
---|
| 330 | $(QUIET)$(APPEND) -t "$@" "done"
|
---|
[21207] | 331 |
|
---|
[72152] | 332 | #
|
---|
| 333 | # Additional testcase designed to be run manually, which initiates and starts the Linux
|
---|
| 334 | # guest client part of the seamless additions in the host, faking seamless events from
|
---|
| 335 | # the host and writing information about guest events to standard output.
|
---|
| 336 | #
|
---|
| 337 | PROGRAMS += tstSeamlessX11
|
---|
[98169] | 338 | tstSeamlessX11_TEMPLATE = VBoxR3TstExe
|
---|
[72152] | 339 | tstSeamlessX11_SOURCES = \
|
---|
[98416] | 340 | testcase/tstSeamlessX11.cpp \
|
---|
| 341 | seamless.cpp \
|
---|
| 342 | seamless-x11.cpp
|
---|
[95259] | 343 | ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
|
---|
| 344 | tstSeamlessX11_DEFS += VBOX_BUILD_TARGET="$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)"
|
---|
| 345 | else
|
---|
| 346 | tstSeamlessX11_DEFS += VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\"
|
---|
| 347 | endif
|
---|
[72152] | 348 | tstSeamlessX11_LIBPATH = \
|
---|
[98416] | 349 | $(VBOX_LIBPATH_X11)
|
---|
[72152] | 350 | tstSeamlessX11_LIBS = \
|
---|
[98416] | 351 | $(LIB_RUNTIME) \
|
---|
| 352 | Xext \
|
---|
| 353 | Xmu \
|
---|
| 354 | X11
|
---|
[6290] | 355 | endif
|
---|
[6202] | 356 | endif
|
---|
| 357 |
|
---|
[41477] | 358 | include $(FILE_KBUILD_SUB_FOOTER)
|
---|