Index: /trunk/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Additions/x11/vboxmouse/Makefile.kmk	(revision 43587)
+++ /trunk/src/VBox/Additions/x11/vboxmouse/Makefile.kmk	(revision 43588)
@@ -239,8 +239,18 @@
 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))
@@ -361,4 +371,5 @@
    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: /trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk	(revision 43587)
+++ /trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk	(revision 43588)
@@ -22,5 +22,7 @@
 # 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 := \
@@ -321,8 +323,28 @@
 
 
+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))
@@ -447,4 +469,5 @@
    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
