VirtualBox

source: vbox/trunk/src/VBox/Additions/solaris/DRM/Makefile.kmk@ 91546

Last change on this file since 91546 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: 1.9 KB
Line 
1# $Id: Makefile.kmk 88215 2021-03-19 18:42:55Z vboxsync $
2## @file
3# Sub-Makefile for the vboxvideo DRM module (Solaris kernel OpenGL module).
4#
5
6#
7# Copyright (C) 2009-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
27
28SUB_DEPTH = ../../../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31#ifneq ($(KBUILD_HOST),solaris)
32#$(error "The Solaris guest additions can only be built on Solaris!")
33#endif
34
35#
36# vboxvideo - The Video DRM (Direct Rendering Module) kernel module
37#
38SYSMODS.solaris += vboxvideo
39vboxvideo_TEMPLATE = VBOXGUESTR0
40vboxvideo_DEFS = VBOX_WITH_HGCM VBOX_SVN_REV=$(VBOX_SVN_REV)
41vboxvideo_DEPS += $(VBOX_SVN_REV_KMK)
42if ($(VBOX_SOLARIS_11_UPDATE_VERSION) > 3)
43vboxvideo_DEFS += VBOX_WITH_SYSTEM_QUEUE_H
44endif
45vboxvideo_INCS := \
46 include/
47vboxvideo_SOURCES = \
48 vboxvideo_drm.c
49vboxvideo_LIBS = \
50 $(VBOX_LIB_VBGL_R0) \
51 $(VBOX_LIB_IPRT_GUEST_R0)
52ifeq ($(KBUILD_HOST),solaris)
53 vboxvideo_LDFLAGS += -N misc/drm
54else
55 vboxvideo_SOURCES += deps.asm
56 vboxvideo_deps.asm_ASFLAGS = -f bin -g null
57endif
58
59
60include $(FILE_KBUILD_SUB_FOOTER)
61
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