VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/VBoxTray/Makefile.kmk@ 75407

Last change on this file since 75407 was 75407, checked in by vboxsync, 6 years ago

VBoxSharedFolders,VBoxService,VBoxTray: New go at auto mounting shared folders, now also at runtime. bugref:3544

  • Added three new functions to the shared folders service:
    1. query mountpoint and everything else about a shared folder.
    2. wait for folder (mappings) config changes.
    3. cancel such waits.
  • Relaxed some of the check wrt placeholder folders so that the GUI can succesfully make changes to a folder while it is being used. The old code would end up failing if the guest was using the folder because of a (placeholder) duplicate.
  • Ran into some weird weird flag passing between service.cpp and vbsfMappingsQuery via pClient->fu32Flags. Didn't make sense to me and clashed with a new flag I added for the wait cancellation, so I changed it to use a parameter (fOnlyAutoMounts) for the purpose.
  • Pointed out that vbsfMappingsQuery is weird in a the way it doesn't return an overflow indicator, meaning that the guest library wrapper's checks for VINF_BUFFER_OVERFLOW is pointless.
  • In VBoxService I've reimplemented the automounter subservice. Only tested with a windows 7 guest so far. Highlights:
    • Use host specified mount points / drive letters.
    • Adjust to changes in mapping configuration.
    • Mappings should be global on windows guests, given that VBoxService runs under the System user (only verified on Win7).
  • One TODO is that I would like to try relocate a mapping that's not on the specified mount point once the mount point is freed up.
  • VBoxTray no longer maps shared folder on startup.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.9 KB
Line 
1# $Id: Makefile.kmk 75407 2018-11-12 20:06:57Z vboxsync $
2## @file
3# Sub-Makefile for VBoxTray.
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
21PROGRAMS += VBoxTray
22VBoxTray_TEMPLATE = VBoxGuestR3Exe
23ifdef VBOX_SIGN_ADDITIONS # (See the parent makefile.)
24 VBoxTray_INSTTYPE = none
25 VBoxTray_DEBUG_INSTTYPE = both
26endif
27VBoxTray_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST)
28VBoxTray_DEFS = \
29 VBOX_WITH_HGCM \
30 VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\"
31VBoxTray_INCS = \
32 ../include \
33 $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/shared \
34 $(VBOX_GRAPHICS_INCS)
35VBoxTray_SOURCES = \
36 VBoxTray.cpp \
37 VBoxDispIf.cpp \
38 VBoxSeamless.cpp \
39 VBoxClipboard.cpp \
40 VBoxDisplay.cpp \
41 VBoxVRDP.cpp \
42 VBoxIPC.cpp \
43 VBoxHelpers.cpp \
44 VBoxTray.rc
45VBoxTray_USES.win = vboximportchecker
46VBoxTray_VBOX_IMPORT_CHECKER.win.x86 = nt4 #nt350
47VBoxTray_VBOX_IMPORT_CHECKER.win.amd64 = xp64
48ifdef VBOX_WITH_DRAG_AND_DROP
49 VBoxTray_DEFS += \
50 VBOX_WITH_DRAG_AND_DROP \
51 $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,)
52 VBoxTray_SOURCES += \
53 VBoxDnD.cpp \
54 VBoxDnDDataObject.cpp \
55 VBoxDnDEnumFormat.cpp \
56 VBoxDnDDropSource.cpp \
57 VBoxDnDDropTarget.cpp
58 VBoxTray_LIBS += \
59 $(PATH_STAGE_LIB)/additions/VBoxDnDGuestR3Lib$(VBOX_SUFF_LIB)
60endif
61ifdef VBOX_WITH_GUEST_PROPS
62 VBoxTray_DEFS += _WIN32_IE=0x500 VBOX_WITH_GUEST_PROPS
63 VBoxTray_SOURCES += \
64 VBoxHostVersion.cpp \
65 VBoxLA.cpp
66endif
67## Now handled by VBoxService.
68#ifdef VBOX_WITH_SHARED_FOLDERS
69# VBoxTray_DEFS += VBOX_WITH_SHARED_FOLDERS
70# VBoxTray_SOURCES += \
71# VBoxSharedFolders.cpp
72# VBoxTray_LIBS.win += \
73# mpr.lib
74#endif
75ifdef VBOX_WITH_WDDM
76 VBoxTray_DEFS += VBOX_WITH_WDDM
77 # VBoxTray_DEFS += LOG_ENABLED
78 VBoxTray_SOURCES += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/shared/VBoxDispKmt.cpp
79endif
80
81# VBoxTray.cpp uses VBOX_SVN_REV.
82VBoxTray.cpp_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV)
83VBoxTray.cpp_DEPS = $(VBOX_SVN_REV_KMK)
84
85# The icon location is configurable.
86VBoxTray.rc_INCS = $(VBoxTray_0_OUTDIR)
87VBoxTray.rc_DEPS = $(VBoxTray_0_OUTDIR)/VBoxTray-icon.rc
88VBoxTray.rc_CLEAN = $(VBoxTray_0_OUTDIR)/VBoxTray-icon.rc
89
90# Icon include file.
91$$(VBoxTray_0_OUTDIR)/VBoxTray-icon.rc: $(VBOX_WINDOWS_ADDITIONS_ICON_FILE) $$(VBoxTray_DEFPATH)/Makefile.kmk | $$(dir $$@)
92 $(RM) -f $@
93 $(APPEND) $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ADDITIONS_ICON_FILE))"'
94
95include $(FILE_KBUILD_SUB_FOOTER)
96
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