Hi, the attached two patches (against tigervnc 1.0.0) are my first working version of this.

I'm building against 1.7.3.901 under gentoo. So far I've only had the time to test Xvnc itself, but it seems to be ok so far...

--- tigervnc.orig/unix/xserver/hw/vnc/vncHooks.cc	2009-03-19 13:38:02.000000000 +0000
+++ tigervnc/unix/xserver/hw/vnc/vncHooks.cc	2009-12-17 10:30:57.754976395 +0000
@@ -119,7 +119,7 @@
 static void vncHooksStoreColors(ColormapPtr pColormap, int ndef,
                                 xColorItem* pdef);
 static Bool vncHooksDisplayCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 				  DeviceIntPtr pDev,
 #endif
 				  ScreenPtr pScreen, CursorPtr cursor);
@@ -454,7 +454,7 @@
 // DisplayCursor - get the cursor shape
 
 static Bool vncHooksDisplayCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 				  DeviceIntPtr pDev,
 #endif
 				  ScreenPtr pScreen_, CursorPtr cursor)
@@ -462,11 +462,11 @@
   SCREEN_UNWRAP(pScreen_, DisplayCursor);
 
   Bool ret = (*pScreen->DisplayCursor) (
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 					pDev,
 #endif
 					pScreen, cursor);
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
   /*
    * XXX DIX calls this function with NULL argument to remove cursor sprite from
    * screen. Should we handle this in setCursor as well?
@@ -474,7 +474,7 @@
   if (cursor != NullCursor) {
 #endif
     vncHooksScreen->desktop->setCursor(cursor);
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
   }
 #endif
 
--- tigervnc.orig/unix/xserver/hw/vnc/XserverDesktop.h	2009-04-03 13:40:01.000000000 +0100
+++ tigervnc/unix/xserver/hw/vnc/XserverDesktop.h	2009-12-17 10:28:39.967903699 +0000
@@ -30,9 +30,13 @@
 	((1 * 10000000) + (5 * 100000) + (99 * 1000))
 /* Xorg 1.5 branch */
 #define XORG_15
-#else
+#elseif XORG_VERSION_CURRENT < \
+        ((1 * 10000000) + (6 * 100000) + (99 * 1000))
 /* Xorg 1.6 branch */
 #define XORG_16
+#else
+/* Xorg 1.7 branch */
+#define XORG_17
 #endif
 
 #include <rfb/SDesktop.h>
--- tigervnc.orig/unix/xserver/hw/vnc/XserverDesktop.cc	2009-04-06 19:45:59.000000000 +0100
+++ tigervnc/unix/xserver/hw/vnc/XserverDesktop.cc	2009-12-17 12:02:10.074902144 +0000
@@ -68,6 +68,17 @@
 extern void
 CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
 #endif
+
+#if defined(XORG_17)
+#include <xkbsrv.h>
+#include <xkbstr.h>
+#include <xserver-properties.h>
+#include "exevents.h"
+extern void
+CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
+extern _X_EXPORT DevPrivateKey CoreDevicePrivateKey;
+#endif
+
 #ifdef RANDR
 #include "randrstr.h"
 #endif
@@ -211,7 +222,7 @@
    */
   if (vncKeyboardDevice == NULL) {
     vncKeyboardDevice = AddInputDevice(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 				       serverClient,
 #endif
 				       vfbKeybdProc, TRUE);
@@ -220,7 +231,7 @@
 
   if (vncPointerDevice == NULL) {
     vncPointerDevice = AddInputDevice(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 				      serverClient,
 #endif
 				      vfbMouseProc, TRUE);
@@ -244,8 +255,13 @@
   int i;
   pointer retval;
 
+#ifdef XORG_17
+  i = dixLookupResourceByType(&retval, pScreen->defColormap, RT_COLORMAP, NullClient,
+			      DixReadAccess);
+#else			
   i = dixLookupResource(&retval, pScreen->defColormap, RT_COLORMAP, NullClient,
 			DixReadAccess);
+#endif
 
   /* Handle suspicious conditions */
   assert(i == Success);
@@ -557,7 +573,7 @@
   if (!cursorPos.equals(oldCursorPos)) {
     oldCursorPos = cursorPos;
     (*pScreen->SetCursorPosition) (
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 				   vncPointerDevice,
 #endif
 				   pScreen, cursorPos.x, cursorPos.y, FALSE);
@@ -578,7 +594,7 @@
     if (screenWithCursor == pScreen) {
       int x, y;
       GetSpritePosition(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 			vncPointerDevice,
 #endif
 			&x, &y);
@@ -742,7 +758,7 @@
   //(*pScreen->SetCursorPosition) (pScreen, pos.x, pos.y, FALSE);
 
   NewCurrentScreen(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 		   vncPointerDevice,
 #endif
 		   pScreen, pos.x, pos.y);
@@ -751,7 +767,7 @@
     valuators[0] = pos.x;
     valuators[1] = pos.y;
 
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
     GetEventList(&eventq);
 #endif
     n = GetPointerEvents (eventq, vncPointerDevice, MotionNotify, 0,
@@ -762,7 +778,7 @@
 #ifdef XORG_15
 		   eventq + i
 #else
-		   (eventq + i)->event
+		   (InternalEvent*) (eventq + i)->event
 #endif
       );
     }
@@ -782,7 +798,7 @@
 #ifdef XORG_15
 		     eventq + j
 #else
-		     (eventq + j)->event
+		     (InternalEvent*) (eventq + j)->event
 #endif
 	);
       }
@@ -976,28 +992,61 @@
     delete [] keys;
   }
   void press() {
+#ifdef XORG_17
+    if (!(XkbStateFieldFromRec(&vncKeyboardDevice->key->xkbInfo->state) & (1<<modIndex))) {
+      KeyCode *modkeymap = NULL;
+      int ret, max_keys_per_mod;
+      
+      ret = generate_modkeymap(serverClient, vncKeyboardDevice, &modkeymap, &max_keys_per_mod);
+      if (ret == Success) {
+        tempKeyEvent(modkeymap[modIndex * max_keys_per_mod],
+                     true, max_keys_per_mod);
+        pressed = true;
+        xfree(modkeymap);  
+      }
+    }
+#else 
     KeyClassPtr keyc = vncKeyboardDevice->key;
     if (!(keyc->state & (1<<modIndex))) {
       tempKeyEvent(keyc->modifierKeyMap[modIndex * keyc->maxKeysPerModifier],
-                   true);
+                   true, keyc->maxKeysPerModifier);
       pressed = true;
     }
+#endif
   }
   void release() {
+#ifdef XORG_17
+    KeyClassPtr keyc = vncKeyboardDevice->key;
+    if (XkbStateFieldFromRec(&vncKeyboardDevice->key->xkbInfo->state) & (1<<modIndex)) {
+      KeyCode *modkeymap = NULL;
+      int ret, max_keys_per_mod;
+      
+      ret = generate_modkeymap(serverClient, vncKeyboardDevice, &modkeymap, &max_keys_per_mod);
+      if (ret == Success) {
+	for (int k = 0; k < max_keys_per_mod; k++) {
+	  int keycode = modkeymap[modIndex * max_keys_per_mod + k];
+	  if (keycode && IS_PRESSED(keyc, keycode))
+	    tempKeyEvent(keycode, false, max_keys_per_mod);
+	}
+	xfree(modkeymap);
+      }
+    }
+#else
     KeyClassPtr keyc = vncKeyboardDevice->key;
     if (keyc->state & (1<<modIndex)) {
       for (int k = 0; k < keyc->maxKeysPerModifier; k++) {
         int keycode
           = keyc->modifierKeyMap[modIndex * keyc->maxKeysPerModifier + k];
         if (keycode && IS_PRESSED(keyc, keycode))
-          tempKeyEvent(keycode, false);
+          tempKeyEvent(keycode, false, keyc->maxKeysPerModifier);
       }
     }
+#endif
   }
 private:
-  void tempKeyEvent(int keycode, bool down) {
+  void tempKeyEvent(int keycode, bool down, int max_keys_per_mod) {
     if (keycode) {
-      if (!keys) keys = new int[vncKeyboardDevice->key->maxKeysPerModifier];
+      if (!keys) keys = new int[max_keys_per_mod];
       keys[nKeys++] = keycode;
       generateXKeyEvent(keycode, down);
     }
@@ -1011,7 +1060,7 @@
 #ifdef XORG_15
 		   eventq + i
 #else
-		   (eventq + i)->event
+		   (InternalEvent*) (eventq + i)->event
 #endif
       );
     }
@@ -1100,20 +1149,42 @@
 {
   DeviceIntPtr master;
   KeyClassPtr keyc = vncKeyboardDevice->key;
-  KeySymsPtr keymap = &keyc->curKeySyms;
+  KeySymsPtr keymap = NULL;
+  KeyCode *modkeymap = NULL;
+  int max_keys_per_mod;
   unsigned int i, n;
   int j, k;
+  int state;
 
   if (keysym == XK_Caps_Lock) {
     vlog.debug("Ignoring caps lock");
     return;
   }
 
+#ifdef XORG_17
+  keymap = XkbGetCoreMap(vncKeyboardDevice);
+  if (!keymap)
+    return;
+
+  if (generate_modkeymap(serverClient, vncKeyboardDevice, &modkeymap, &max_keys_per_mod) != Success) {
+    xfree(keymap->map);
+    xfree(keymap);
+    return;
+  }
+  
+  state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
+#else
+  state = keyc->state;
+  max_keys_per_mod = keyc->maxKeysPerModifier;
+  keymap = &keyc->curKeySyms;
+  modkeymap = keyc->modifierKeyMap;
+#endif
+
   // find which modifier Mode_switch is on.
   int modeSwitchMapIndex = 0;
   for (i = 3; i < 8; i++) {
-    for (k = 0; k < keyc->maxKeysPerModifier; k++) {
-      int keycode = keyc->modifierKeyMap[i * keyc->maxKeysPerModifier + k];
+    for (k = 0; k < max_keys_per_mod; k++) {
+      int keycode = modkeymap[i * max_keys_per_mod + k];
       for (j = 0; j < keymap->mapWidth; j++) {
         if (keycode != 0 &&
             keymap->map[(keycode - keymap->minKeyCode)
@@ -1127,8 +1198,8 @@
   }
 
   int col = 0;
-  if (keyc->state & (1<<ShiftMapIndex)) col |= 1;
-  if (modeSwitchMapIndex && (keyc->state & (1<<modeSwitchMapIndex))) col |= 2;
+  if (state & (1<<ShiftMapIndex)) col |= 1;
+  if (modeSwitchMapIndex && (state & (1<<modeSwitchMapIndex))) col |= 2;
 
   int kc = KeysymToKeycode(keymap, keysym, &col);
 
@@ -1137,7 +1208,7 @@
   // local keyboard (it might be Tab, ISO_Left_Tab or HP's private BackTab
   // keysym, and quite possibly some others too).  We never get ISO_Left_Tab
   // here because it's already been translated in VNCSConnectionST.
-  if (keysym == XK_Tab && (keyc->state & (1<<ShiftMapIndex)))
+  if (keysym == XK_Tab && (state & (1<<ShiftMapIndex)))
     col |= 1;
 
   if (kc == 0) {
@@ -1180,6 +1251,11 @@
     }
     if (kc < keymap->minKeyCode) {
       vlog.info("Keyboard mapping full - ignoring unknown keysym 0x%x",keysym);
+#ifdef XORG_17
+      xfree(keymap->map);
+      xfree(keymap);
+      xfree(modkeymap);
+#endif
       return;
     }
   }
@@ -1187,12 +1263,18 @@
   // See if it's a modifier key.  If so, then don't do any auto-repeat, because
   // the X server will translate each press into a release followed by a press.
   for (i = 0; i < 8; i++) {
-    for (k = 0; k < keyc->maxKeysPerModifier; k++) {
-      if (kc == keyc->modifierKeyMap[i * keyc->maxKeysPerModifier + k] &&
-          IS_PRESSED(keyc,kc) && down)
+    for (k = 0; k < max_keys_per_mod; k++) {
+      if (kc == modkeymap[i * max_keys_per_mod + k] &&
+          IS_PRESSED(keyc,kc) && down) {
+#ifdef XORG_17
+        xfree(keymap->map);
+        xfree(keymap);
+	xfree(modkeymap);
+#endif
         return;
     }
   }
+  }
 
   ModifierState shift(ShiftMapIndex);
   ModifierState modeSwitch(modeSwitchMapIndex);
@@ -1216,10 +1298,16 @@
 #ifdef XORG_15
 		 eventq + i
 #else
-		 (eventq + i)->event
+		 (InternalEvent*) (eventq + i)->event
 #endif
     );
   }
+  
+#ifdef XORG_17
+  xfree(keymap->map);
+  xfree(keymap);
+  xfree(modkeymap);
+#endif
 }
 
 static KeySym KeyCodetoKeySym(KeySymsPtr keymap, int keycode, int col)
@@ -1444,7 +1532,9 @@
   KeySymsRec            keySyms;
   CARD8                 modMap[MAP_LENGTH];
   DevicePtr pDev = (DevicePtr)pDevice;
-#ifdef XKB
+#ifdef XORG_17
+  XkbRMLVOSet rmlvo;
+#elif defined(XKB)
   XkbComponentNamesRec names;
 #endif
 
@@ -1452,6 +1542,16 @@
   {
   case DEVICE_INIT:
     GetMappings(&keySyms, modMap);
+#ifdef XORG_17
+    rmlvo.rules = (char*) "base";
+    rmlvo.model = (char*) "pc105";
+    rmlvo.layout = (char*) "us";
+    rmlvo.variant = NULL;
+    rmlvo.options = NULL;
+    XkbSetRulesDflts(&rmlvo);
+    InitKeyboardDeviceStruct(pDevice, &rmlvo,
+                             (BellProcPtr)vfbBell, (KbdCtrlProcPtr)NoopDDA);                                         
+#else
 #ifdef XKB
     if (!noXkbExtension) {
       memset(&names, 0, sizeof (names));
@@ -1460,11 +1560,12 @@
 				  (BellProcPtr)vfbBell,
 				  (KbdCtrlProcPtr)NoopDDA);
     } else
-#endif
+#endif /* XKB */
     {
       InitKeyboardDeviceStruct(pDev, &keySyms, modMap,
 			      (BellProcPtr)vfbBell, (KbdCtrlProcPtr)NoopDDA);
     }
+#endif /* XORG_17 */
     break;
   case DEVICE_ON:
     pDev->on = TRUE;
@@ -1482,6 +1583,10 @@
 {
   BYTE map[6];
   DevicePtr pDev = (DevicePtr)pDevice;
+#ifdef XORG_17
+  Atom btn_labels[5];
+  Atom axes_labels[2];
+#endif
 
   switch (onoff)
   {
@@ -1491,11 +1596,28 @@
     map[3] = 3;
     map[4] = 4;
     map[5] = 5;
-    InitPointerDeviceStruct(pDev, map, 5,
 #ifdef XORG_15
+    InitPointerDeviceStruct(pDev, map, 5,
 			    GetMotionHistory,
-#endif
 			    (PtrCtrlProcPtr)NoopDDA, GetMotionHistorySize(), 2);
+#elif defined(XORG_16)
+    InitPointerDeviceStruct(pDev, map, 5,
+                            (PtrCtrlProcPtr)NoopDDA, GetMotionHistorySize(), 2);
+#elif defined(XORG_17)
+    btn_labels[5] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_HWHEEL_LEFT);
+    btn_labels[4] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_WHEEL_DOWN);
+    btn_labels[3] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_WHEEL_UP);
+    btn_labels[2] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_RIGHT);
+    btn_labels[1] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_MIDDLE);
+    btn_labels[0] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_LEFT);
+
+    axes_labels[0] = XIGetKnownProperty((char*) AXIS_LABEL_PROP_REL_X);
+    axes_labels[1] = XIGetKnownProperty((char*) AXIS_LABEL_PROP_REL_Y);
+    
+    InitPointerDeviceStruct(pDev, map, 5, btn_labels,
+			    (PtrCtrlProcPtr)NoopDDA, GetMotionHistorySize(), 
+			    2, axes_labels);
+#endif			    
     break;
 
   case DEVICE_ON:
--- tigervnc.orig/unix/xserver/hw/vnc/xvnc.cc	2009-08-19 10:36:24.000000000 +0100
+++ tigervnc/unix/xserver/hw/vnc/xvnc.cc	2009-12-17 12:57:41.955905374 +0000
@@ -80,6 +80,13 @@
 #endif /* RANDR */
 #include <X11/keysym.h>
   extern char buildtime[];
+
+#ifdef XORG_17
+#undef VENDOR_RELEASE
+#undef VENDOR_STRING
+#include <site.h>
+#endif
+
 #undef class
 #undef public
 }
@@ -628,9 +635,16 @@
     {
 	if (pmap->mid != pmap->pScreen->defColormap)
 	{
+#if defined(XORG_15) || defined(XORG_16)
 	    curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
 						   RT_COLORMAP);
 	    (*pmap->pScreen->InstallColormap)(curpmap);
+#else
+            int ret = dixLookupResourceByType((pointer*) &curpmap, pmap->pScreen->defColormap, RT_COLORMAP, NullClient,
+	                                      DixReadAccess);
+            if (ret == Success)
+              (*pmap->pScreen->InstallColormap)((ColormapPtr)curpmap);
+#endif
 	}
     }
 }
@@ -736,7 +750,7 @@
 }
 
 static Bool vfbRealizeCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 			     DeviceIntPtr pDev,
 #endif
 			     ScreenPtr pScreen, CursorPtr pCursor) {
@@ -744,7 +758,7 @@
 }
 
 static Bool vfbUnrealizeCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 			       DeviceIntPtr pDev,
 #endif
 			       ScreenPtr pScreen, CursorPtr pCursor) {
@@ -752,7 +766,7 @@
 }
 
 static void vfbSetCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 			 DeviceIntPtr pDev,
 #endif
 			 ScreenPtr pScreen, CursorPtr pCursor, int x, int y) 
@@ -760,14 +774,14 @@
 }
 
 static void vfbMoveCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 			  DeviceIntPtr pDev,
 #endif
 			  ScreenPtr pScreen, int x, int y) 
 {
 }
 
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
 static Bool
 vfbDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScreen)
 {   
@@ -785,7 +799,7 @@
     vfbUnrealizeCursor,
     vfbSetCursor,
     vfbMoveCursor
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
     , vfbDeviceCursorInitialize,
     vfbDeviceCursorCleanup
 #endif
--- tigervnc.orig/unix/xserver/hw/vnc/vncExtInit.cc	2009-04-03 13:40:01.000000000 +0100
+++ tigervnc/unix/xserver/hw/vnc/vncExtInit.cc	2009-12-17 11:12:13.472905066 +0000
@@ -185,7 +185,7 @@
   vncExtGeneration = serverGeneration;
 
   ExtensionEntry* extEntry
-    = AddExtension(VNCEXTNAME, VncExtNumberEvents, VncExtNumberErrors,
+    = AddExtension((char*) VNCEXTNAME, VncExtNumberEvents, VncExtNumberErrors,
                    ProcVncExtDispatch, SProcVncExtDispatch, vncResetProc,
                    StandardMinorOpcode);
   if (!extEntry) {
--- tigervnc.orig/unix/xserver/hw/vnc/Makefile.am	2009-02-25 13:36:14.000000000 +0000
+++ tigervnc/unix/xserver/hw/vnc/Makefile.am	2009-12-17 10:01:39.054604007 +0000
@@ -50,7 +50,7 @@
 
 libvnc_la_LDFLAGS = -module -avoid-version
 
-libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS)
+libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(top_srcdir)/Xi/libXi.la $(top_srcdir)/dix/libdix.la
 
 EXTRA_DIST = Xvnc.man
 
--- xserver/configure.ac.vnc	2009-12-16 18:53:17.208009726 +0000
+++ xserver/configure.ac	2009-12-16 19:00:56.624009167 +0000
@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.7.3.901, [https
 RELEASE_DATE="2009-12-11"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
-AM_MAINTAINER_MODE
 
 AC_CONFIG_FILES([
 	shave
@@ -64,6 +63,7 @@ dnl forcing an entire recompile.x
 AC_CONFIG_HEADERS(include/version-config.h)
 
 AC_PROG_CC
+AC_PROG_CXX
 AM_PROG_AS
 AC_PROG_INSTALL
 AC_PROG_LN_S
@@ -1383,6 +1383,9 @@ if test "x$XVFB" = xyes; then
 	AC_SUBST([XVFB_SYS_LIBS])
 fi
 
+dnl Xvnc DDX
+AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XEXT_INC $FB_INC $MI_INC $RENDER_INC $RANDR_INC"])
+AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
 
 dnl Xnest DDX
 
@@ -1421,6 +1424,8 @@ xorg_bus_linuxpci=no
 xorg_bus_bsdpci=no
 xorg_bus_sparc=no
 
+AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+
 if test "x$XORG" = xyes; then
 	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
 	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
@@ -1649,7 +1654,6 @@ if test "x$XORG" = xyes; then
 	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
 	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
 	AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
-	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
 	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
 	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
 	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
@@ -2094,6 +2098,7 @@ hw/dmx/input/Makefile
 hw/dmx/glxProxy/Makefile
 hw/dmx/Makefile
 hw/vfb/Makefile
+hw/vnc/Makefile
 hw/xnest/Makefile
 hw/xwin/Makefile
 hw/xquartz/Makefile
--- xserver/mi/miinitext.c.vnc	2009-12-16 18:53:20.864010515 +0000
+++ xserver/mi/miinitext.c	2009-12-16 19:01:23.664009203 +0000
@@ -274,6 +274,7 @@ extern void DamageExtensionInit(INITARGS
 extern void CompositeExtensionInit(INITARGS);
 #endif
 extern void GEExtensionInit(INITARGS);
+extern void vncExtensionInit(INITARGS);
 
 /* The following is only a small first step towards run-time
  * configurable extensions.
@@ -454,6 +455,7 @@ InitExtensions(int argc, char *argv[])
 #ifdef XF86BIGFONT
     if (!noXFree86BigfontExtension) XFree86BigfontExtensionInit();
 #endif
+    vncExtensionInit();
 #if !defined(NO_HW_ONLY_EXTS)
 #if defined(XF86VIDMODE)
     if (!noXFree86VidModeExtension) XFree86VidModeExtensionInit();
--- xserver/hw/Makefile.am.vnc	2009-12-16 18:53:17.816009029 +0000
+++ xserver/hw/Makefile.am	2009-12-16 19:01:31.064009345 +0000
@@ -33,7 +33,8 @@ SUBDIRS =			\
 	$(XNEST_SUBDIRS)	\
 	$(DMX_SUBDIRS)		\
 	$(KDRIVE_SUBDIRS)	\
-	$(XQUARTZ_SUBDIRS)
+	$(XQUARTZ_SUBDIRS)	\
+	vnc
 
 DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
 
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to