VirtualBox

Ignore:
Timestamp:
Sep 24, 2017 4:41:49 PM (7 years ago)
Author:
vboxsync
Message:

Additions/x11/vboxvideo: split up VBVA and HGSMI parts into a static library.
bugref:3810: X11 Guest Additions maintenance

Up until now, we have rebuild all source files for all versions of X.Org
vboxvideo. Since the HGSMI and VBVA files do not depend on the X server
version we were rebuilding identical versions of them each time. This
change splits them out into a static library to save some build time when
they are changed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk

    r67145 r68846  
    4141
    4242vboxvideo.c_DEPS = $(VBOX_SVN_REV_HEADER)
     43
     44LIBRARIES += vboxvideo_drv_lib
     45
     46#
     47# vboxvideo_drv_lib
     48#
     49vboxvideo_drv_lib_TEMPLATE = VBOXGUESTR3XORGMOD
     50ifeq ($(KBUILD_TARGET),solaris) # don't use .solaris or anything here.  Do we need this?  I don't want to find out.
     51 vboxvideo_drv_lib_CFLAGS += -D_XPG6 -Wno-shadow # Use XPG6 until we have moved the C++ bits into a library.
     52endif
     53vboxvideo_drv_lib_SOURCES  = \
     54        $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
     55        $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBuffers.cpp \
     56        $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp \
     57        $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp \
     58        $(PATH_ROOT)/src/VBox/GuestHost/HGSMI/HGSMICommon.cpp \
     59        $(PATH_ROOT)/src/VBox/GuestHost/HGSMI/HGSMIMemAlloc.cpp
     60vboxvideo_drv_lib_INCS = \
     61        $(PATH_ROOT)/src/VBox/Runtime/include \
     62        $(VBOX_GRAPHICS_INCS)
     63vboxvideo_drv_lib_INST = $(INST_LIB)
    4364
    4465#
     
    104125        vboxvideo.c \
    105126        vbva.c \
    106         $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
    107         $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBuffers.cpp \
    108         $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp \
    109         $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp \
    110         $(PATH_ROOT)/src/VBox/GuestHost/HGSMI/HGSMICommon.cpp \
    111         $(PATH_ROOT)/src/VBox/GuestHost/HGSMI/HGSMIMemAlloc.cpp
     127        $(vboxvideo_drv_lib_SOURCES)
    112128 # Any global symbols in the driver object files will be added to XFree86's
    113129 # symbol table, which can cause problems if we e.g. define a symbol in two
     
    135151        $(VBOX_PATH_X11_ROOT)/xorg-server-1.0.1
    136152vboxvideo_drv_70_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    137 vboxvideo_drv_70_SOURCES  = $(vboxvideo_drv_SOURCES)
     153vboxvideo_drv_70_SOURCES  = $(filter-out $(vboxvideo_drv_lib_SOURCES),$(vboxvideo_drv_SOURCES))
     154vboxvideo_drv_70_LIBS = $(PATH_STAGE_LIB)/vboxvideo_drv_lib$(VBOX_SUFF_LIB)
    138155
    139156
     
    149166        $(VBOX_PATH_X11_ROOT)/xorg-server-1.1.0
    150167vboxvideo_drv_71_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    151 vboxvideo_drv_71_SOURCES  = $(vboxvideo_drv_SOURCES)
     168vboxvideo_drv_71_SOURCES  = $(vboxvideo_drv_70_SOURCES)
     169vboxvideo_drv_71_LIBS = $(vboxvideo_drv_70_LIBS)
    152170
    153171
     
    163181        $(VBOX_PATH_X11_ROOT)/xorg-server-1.3.0.0
    164182vboxvideo_drv_13_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    165 vboxvideo_drv_13_SOURCES = $(vboxvideo_drv_SOURCES) edid.c
     183vboxvideo_drv_13_SOURCES = $(vboxvideo_drv_70_SOURCES) edid.c
     184vboxvideo_drv_13_LIBS += $(vboxvideo_drv_70_LIBS)
    166185
    167186
     
    178197vboxvideo_drv_14_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    179198vboxvideo_drv_14_SOURCES  = $(vboxvideo_drv_13_SOURCES)
     199vboxvideo_drv_14_LIBS += $(vboxvideo_drv_70_LIBS)
    180200
    181201
     
    192212vboxvideo_drv_15_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    193213vboxvideo_drv_15_SOURCES  = $(vboxvideo_drv_13_SOURCES)
     214vboxvideo_drv_15_LIBS += $(vboxvideo_drv_70_LIBS)
    194215
    195216
     
    206227vboxvideo_drv_16_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    207228vboxvideo_drv_16_SOURCES := $(vboxvideo_drv_15_SOURCES)
     229vboxvideo_drv_16_LIBS += $(vboxvideo_drv_70_LIBS)
    208230
    209231
     
    220242vboxvideo_drv_17_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    221243vboxvideo_drv_17_SOURCES := $(vboxvideo_drv_13_SOURCES)
     244vboxvideo_drv_17_LIBS += $(vboxvideo_drv_70_LIBS)
    222245
    223246
     
    234257vboxvideo_drv_18_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    235258vboxvideo_drv_18_SOURCES := $(vboxvideo_drv_17_SOURCES)
     259vboxvideo_drv_18_LIBS += $(vboxvideo_drv_70_LIBS)
    236260
    237261
     
    248272vboxvideo_drv_19_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    249273vboxvideo_drv_19_SOURCES := $(vboxvideo_drv_17_SOURCES)
     274vboxvideo_drv_19_LIBS += $(vboxvideo_drv_70_LIBS)
    250275
    251276
     
    262287vboxvideo_drv_110_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    263288vboxvideo_drv_110_SOURCES := $(vboxvideo_drv_17_SOURCES)
     289vboxvideo_drv_110_LIBS += $(vboxvideo_drv_70_LIBS)
    264290
    265291
     
    276302vboxvideo_drv_111_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    277303vboxvideo_drv_111_SOURCES := $(vboxvideo_drv_17_SOURCES)
     304vboxvideo_drv_111_LIBS += $(vboxvideo_drv_70_LIBS)
    278305
    279306
     
    290317vboxvideo_drv_112_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    291318vboxvideo_drv_112_SOURCES := $(vboxvideo_drv_17_SOURCES)
     319vboxvideo_drv_112_LIBS += $(vboxvideo_drv_70_LIBS)
    292320
    293321
     
    304332vboxvideo_drv_113_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    305333vboxvideo_drv_113_SOURCES := $(vboxvideo_drv_17_SOURCES)
     334vboxvideo_drv_113_LIBS += $(vboxvideo_drv_70_LIBS)
    306335
    307336
     
    318347vboxvideo_drv_114_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    319348vboxvideo_drv_114_SOURCES := $(vboxvideo_drv_17_SOURCES)
     349vboxvideo_drv_114_LIBS += $(vboxvideo_drv_70_LIBS)
    320350
    321351
     
    332362vboxvideo_drv_115_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    333363vboxvideo_drv_115_SOURCES := $(vboxvideo_drv_17_SOURCES)
     364vboxvideo_drv_115_LIBS += $(vboxvideo_drv_70_LIBS)
    334365
    335366
     
    346377vboxvideo_drv_116_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    347378vboxvideo_drv_116_SOURCES := $(vboxvideo_drv_17_SOURCES)
     379vboxvideo_drv_116_LIBS += $(vboxvideo_drv_70_LIBS)
    348380
    349381
     
    360392vboxvideo_drv_117_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    361393vboxvideo_drv_117_SOURCES := $(vboxvideo_drv_17_SOURCES)
     394vboxvideo_drv_117_LIBS += $(vboxvideo_drv_70_LIBS)
    362395
    363396
     
    374407vboxvideo_drv_118_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
    375408vboxvideo_drv_118_SOURCES := $(vboxvideo_drv_17_SOURCES)
     409vboxvideo_drv_118_LIBS += $(vboxvideo_drv_70_LIBS)
    376410
    377411ifdef VBOX_USE_SYSTEM_XORG_HEADERS
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette