On Qui, 2012-09-27 at 14:52 +0200, Michael Thayer wrote: > Hello Sérgio, Felix, > > On 09/26/2012 10:02 AM, Michael Thayer wrote: > [...] > > On 09/26/2012 05:13 AM, Sérgio Basto wrote: > >> As you may know, when we packaging rpms in Fedora, we try remove > >> sources bundle. > >> I done with X11, removing src/VBox/Additions/x11/x11include and > >> src/VBox/Additions/x11/x11stubs > >> I don't want that you do that upstream, but I had to modify some source > >> vboxmouse.c, fakedri_drv.c and VBoxGuestR3LibRuntimeXF86.cpp > > Wouldn't it be more sensible just to include a build option upstream to > > only build one module against the system headers? I'm not a fan of > > downstream patches either, so I'm all for finding a way to make the > > upstream code usable for you. I'll give it a bit of a think and post a > > patch suggestion. > > Here it is. Comments welcome! > > Regards, > > Michael > > $ svn di src/VBox/Additions/x11/vboxvideo/Makefile.kmk > src/VBox/Additions/x11/vboxmouse/Makefile.kmk > Index: src/VBox/Additions/x11/vboxvideo/Makefile.kmk > =================================================================== > --- src/VBox/Additions/x11/vboxvideo/Makefile.kmk (revision 80959) > +++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk (working copy) > @@ -21,7 +21,9 @@ > # > # Include sub-makefile(s). > # > -include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk > +ifndef VBOX_USE_SYSTEM_XORG_HEADERS > + include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk > +endif > > vboxvideo_70_DEFS := \ > IN_MODULE XORG_7X RENDER=1 IN_RT_STATIC > @@ -320,10 +322,30 @@ > vboxvideo_drv_113_SOURCES := $(vboxvideo_drv_15_SOURCES) > > > +ifdef VBOX_USE_SYSTEM_XORG_HEADERS > + # Build using local X.Org headers. We assume X.Org Server 1.7 or later. > + DLLS := $(filter-out vboxvideo_drv_%,$(DLLS)) vboxvideo_drv_system > + SYSMODS := $(filter-out vboxvideo_drv%,$(SYSMODS)) > + vboxvideo_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD > + vboxvideo_drv_system_CFLAGS := \ > + $(vboxvideo_drv_70_CFLAGS) -include xorg-server.h > + vboxvideo_drv_system_DEFS := $(vboxvideo_15_DEFS) > + vboxvideo_drv_system_INCS += \ > + $(PATH_ROOT)/src/VBox/Runtime/include \ > + /usr/include/x11 \ > + /usr/include/X11/dri \ > + /usr/include/libdrm \ > + /usr/include/xorg \ > + /usr/include/pixman-1 > + vboxvideo_drv_system_SOURCES := $(vboxvideo_drv_15_SOURCES) > +endif > + > + > # Check the undefined symbols in the X.Org modules against lists of > allowed > # symbols. Not very elegant, but it will catch problems early. > ifdef VBOX_WITH_TESTCASES > # ifndef VBOX_ONLY_ADDITIONS > + ifndef VBOX_USE_SYSTEM_XORG_HEADERS > if1of ($(KBUILD_TARGET),linux solaris) > ifeq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH)) > ifndef VBOX_ONLY_SDK > @@ -446,6 +468,7 @@ > endif # ! VBOX_ONLY_SDK > endif # eq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH)) > endif # eq ($(KBUILD_TARGET),linux) > + endif # ! VBOX_USE_SYSTEM_XORG_HEADERS > # endif # ! VBOX_ONLY_ADDITIONS > endif # VBOX_WITH_TESTCASES > > Index: src/VBox/Additions/x11/vboxmouse/Makefile.kmk > =================================================================== > --- src/VBox/Additions/x11/vboxmouse/Makefile.kmk (revision 80959) > +++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk (working copy) > @@ -238,10 +238,20 @@ > > endif # neq ($(KBUILD_TARGET),linux) > > + > +ifdef VBOX_USE_SYSTEM_XORG_HEADERS > + # As vboxmouse_drv is not needed at all for X.Org Server 1.7 and later > do not > + # build it in this case. > + DLLS := $(filter-out vboxmouse_drv_%,$(DLLS)) > + SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS)) > +endif > + > + > # Check the undefined symbols in the X.Org modules against lists of > allowed > # symbols. Not very elegant, but it will catch problems early. > ifdef VBOX_WITH_TESTCASES > # ifndef VBOX_ONLY_ADDITIONS > + ifndef VBOX_USE_SYSTEM_XORG_HEADERS > ifeq ($(KBUILD_TARGET),linux) > ifeq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH)) > ifndef VBOX_ONLY_SDK > @@ -360,6 +370,7 @@ > endif # ! VBOX_ONLY_SDK > endif # eq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH)) > endif # eq ($(KBUILD_TARGET),linux) > + endif # ! VBOX_USE_SYSTEM_XORG_HEADERS > # endif # ! VBOX_ONLY_ADDITIONS > endif # VBOX_WITH_TESTCASES
Hi, Looks good to me as a little side note, we have in VirtualBox-4.2.0/src/VBox/Additions/x11/vboxvideo/Makefile.kmk : vboxvideo_70_DEFS := IN_MODULE XORG_7X RENDER=1 IN_RT_STATIC vboxvideo_13_DEFS := $(vboxvideo_70_DEFS) VBOXVIDEO_13 vboxvideo_15_DEFS := $(vboxvideo_13_DEFS) VBOX_DRI NO_ANSIC PCIACCESS XSERVER_LIBPCIACCESS vboxvideo_drv_70_DEFS = $(vboxvideo_70_DEFS) XORG_VERSION_CURRENT=700000000 vboxvideo_drv_13_DEFS := $(vboxvideo_13_DEFS) XORG_VERSION_CURRENT=100300000 what I mean when I want know what DEFS for vboxvideo_drv_113, I got to follow all attributions ... and can't comment any ... Isn't more simple to read vboxvideo_13_DEFS := IN_MODULE XORG_7X RENDER=1 IN_RT_STATIC VBOXVIDEO_13 vboxvideo_15_DEFS := IN_MODULE XORG_7X RENDER=1 IN_RT_STATIC VBOXVIDEO_13 VBOX_DRI NO_ANSIC PCIACCESS XSERVER_LIBPCIACCESS vboxvideo_drv_113_DEFS := IN_MODULE XORG_7X RENDER=1 IN_RT_STATIC VBOXVIDEO_13 VBOX_DRI NO_ANSIC PCIACCESS XSERVER_LIBPCIACCESS XORG_VERSION_CURRENT=101300000 well is just a suggestion, since you, in VirtualBox-4.2.0, already have simplify this, with 3 base defs ( vboxvideo_70_DEFS , vboxvideo_13_DEFS and vboxvideo_15_DEFS ). Thanks, -- Sérgio M. B. _______________________________________________ vbox-dev mailing list [email protected] https://www.virtualbox.org/mailman/listinfo/vbox-dev
