VirtualBox

source: vbox/trunk/src/VBox/Additions/solaris/SharedFolders/Makefile.kmk@ 88801

Last change on this file since 88801 was 88215, checked in by vboxsync, 4 years ago

Solaris-specific changes needed for building VBox on Solaris 11.4.
ticketref:9956

/Config.kmk,tools/Makefile.kmk: The Solaris package FMRI changed in
Solaris 11.4 so further care is needed when parsing the 'pkg contents -o
pkg.fmri' output. Some further simplification done as well as only the
Solaris 11 update and build number are needed for feature checking
elsewhere.

Additions/solaris/DRM: In Solaris 11 FCS <sys/queue.h> was taken from
FreeBSD and added to the OS. VirtualBox copied this file to
Additions/solaris/DRM/include and it is included by
Additions/solaris/DRM/include/drmP.h. Solaris 11.4 modified <sys/modctl.h>
to include <sys/queue.h> and drmP.h includes <sys/modctl.h> so thus
drmP.h shouldn't include queue.h on Solaris 11.4 FCS and later.

Additions/solaris/SharedFolders,Runtime/r0drv/solaris: Solaris 11.4
removed the 'alignment' argument from the VM map_addr() and
choose_addr() routines so we now leverage RTR0DbgKrnlInfoQuerySymbol()
at module initialization to determine which version of these functions
needs to be invoked.

Runtime/r0drv/solaris: In Solaris 11.4 the VM seg_ops getpolicy()
routine changed its return value and added an extra argument but since
we don't need to do anything for this and Solaris 10 and 11 both check
for a non-NULL s_ops->getpolicy() entry or else for s_ops->capable()
before calling getpolicy() we just set the s_SegVBoxOps getpolicy()
entry to NULL. Solaris 11.4 also added an extra argument to the VM
seg_ops dump() routine but there aren't any checks made before calling
it. Since we don't do anything with dump() we just use #ifdefs to get
the correct prototype at build-time.

Additions/x11/vboxvideo: The Xorg vboxvideo_drv.so shared object on
Solaris 11.4 has an undefined weak symbol reference to assert_c99
which needs to be added to the undefined_xorg file.

  • 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 88215 2021-03-19 18:42:55Z vboxsync $
2## @file
3# Sub-Makefile for the Solaris Shared folder kernel module.
4#
5
6#
7# Copyright (C) 2008-2020 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# The contents of this file may alternatively be used under the terms
18# of the Common Development and Distribution License Version 1.0
19# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20# VirtualBox OSE distribution, in which case the provisions of the
21# CDDL are applicable instead of those of the GPL.
22#
23# You may elect to license modified versions of this file under the
24# terms and conditions of either the GPL or the CDDL or both.
25#
26
27SUB_DEPTH = ../../../../..
28include $(KBUILD_PATH)/subheader.kmk
29
30#ifneq ($(KBUILD_HOST),solaris)
31#$(error "The Solaris guest additions can only be built on Solaris!")
32#endif
33
34#
35# vboxfs - The Shared Folder Driver
36#
37SYSMODS.solaris += vboxfs
38vboxfs_TEMPLATE = VBOXGUESTR0
39vboxfs_DEFS = VBOX_WITH_HGCM VBOX_SVN_REV=$(VBOX_SVN_REV)
40vboxfs_DEPS += $(VBOX_SVN_REV_KMK)
41vboxfs_INCS := \
42 .
43vboxfs_SOURCES = \
44 vboxfs_vfs.c \
45 vboxfs_vnode.c \
46 vboxfs_prov.c
47vboxfs_LIBS = \
48 $(VBOX_LIB_VBGL_R0)
49ifeq ($(KBUILD_HOST),solaris)
50 vboxfs_LDFLAGS.solaris += -N drv/vboxguest -N misc/ctf
51else
52 vboxfs_SOURCES += deps.asm
53 vboxfs_deps.asm_ASFLAGS = -f bin -g null
54endif
55if ($(VBOX_SOLARIS_11_UPDATE_VERSION) > 1 \
56 || ($(VBOX_SOLARIS_11_UPDATE_VERSION) == 1 && $(VBOX_SOLARIS_11_BUILD_VERSION) >= 10))
57vboxfs_DEFS += VBOX_VFS_EXTENDED_POLICY
58endif
59
60
61ifndef VBOX_OSE
62#
63# vboxfs_s10 - The Shared Folder Driver for Solaris 10
64#
65SYSMODS.solaris += vboxfs_s10
66vboxfs_s10_TEMPLATE = VBOXGUESTR0
67vboxfs_s10_DEFS = VBOX_WITH_HGCM VBOX_VFS_SOLARIS_10U6 VBOX_SVN_REV=$(VBOX_SVN_REV)
68vboxfs_s10_DEPS += $(VBOX_SVN_REV_KMK)
69vboxfs_s10_INCS := solaris10/
70vboxfs_s10_SOURCES = \
71 vboxfs_vfs.c \
72 vboxfs_vnode.c \
73 vboxfs_prov.c
74vboxfs_s10_LIBS = \
75 $(VBOX_LIB_VBGL_R0) \
76 $(VBOX_LIB_IPRT_GUEST_R0)
77ifeq ($(KBUILD_HOST),solaris)
78 vboxfs_s10_LDFLAGS += -N drv/vboxguest -N misc/ctf
79else
80 vboxfs_s10_SOURCES += deps.asm
81 vboxfs_s10_deps.asm_ASFLAGS = -f bin -g null
82endif
83endif # VBOX_OSE
84
85
86#
87# mount - Userland mount wrapper for vboxfs
88#
89PROGRAMS += vboxfsmount
90vboxfsmount_TEMPLATE = NewVBoxGuestR3Exe
91vboxfsmount_SOURCES = vboxfs_mount.c
92
93
94#
95# Load script.
96#
97INSTALLS += vboxfsload
98vboxfsload_TEMPLATE = VBOXGUESTR0
99vboxfsload_EXEC_SOURCES = loadfs.sh
100
101
102include $(FILE_KBUILD_SUB_FOOTER)
103
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