--- config_office/configure.in
+++ config_office/configure.in
@@ -216,6 +216,10 @@
 [  --enable-cairo          Determines whether to use Cairo canvas backend on
                           platforms where Cairo is available.
 ],,enable_cairo=no)
+AC_ARG_WITH(system-cairo,
+[  --without-system-cairo  Try to build using an internal cairo on platforms
+                          that support it.
+],,)
 AC_ARG_ENABLE(dbus,
 [  --enable-dbus           Determines whether to enable presentation mode 
                           screensaver control under GNOME via DBUS 
@@ -823,6 +827,7 @@
 		;;
 	cygwin*) # Windows
 		test_cups=no
+		build_cairo=yes
 		_os=WINNT
 		;;
 	darwin*) # Mac OS X
@@ -5079,19 +5084,18 @@
 AC_SUBST(GTK_LIBS)
 
 dnl ===================================================================
-dnl Check whether the Cairo libraries are available.
+dnl Check whether to enable the cairo canvas backend.
 dnl ===================================================================
 
 ENABLE_CAIRO=""
 
 if test  "$build_cairo" = "yes"; then
 
-    AC_MSG_CHECKING([whether to enable the Cairo canvas backend])
+    AC_MSG_CHECKING([whether to enable the cairo canvas backend])
     if test "x$enable_cairo" != "xno" ; then
-        ENABLE_CAIRO="TRUE"
-	     SYSTEM_CAIRO=YES
-	     AC_MSG_RESULT([yes])
-	     PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 )
+      AC_MSG_RESULT([yes])
+      ENABLE_CAIRO="TRUE"
+      if test "$_os" != "WINNT"; then
         if test "$with_system_xrender_headers" = "yes"; then
             AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8])
             AC_TRY_RUN([
@@ -5106,11 +5110,33 @@
 }
             ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no, X headers too old.])])
         fi
+      fi
     else
 	     AC_MSG_RESULT([no])
     fi
 fi
 
+dnl ===================================================================
+dnl Check for system cairo
+dnl ===================================================================
+
+if test "$ENABLE_CAIRO" = "TRUE"; then
+    AC_MSG_CHECKING([which cairo to use])
+    if test "$_os" = "WINNT"; then
+        BUILD_TYPE="$BUILD_TYPE CAIRO"
+        AC_MSG_RESULT([internal])
+        SYSTEM_CAIRO=NO
+    elif test "$with_system_cairo" = "no" && test "$_os" = "Linux"; then
+        BUILD_TYPE="$BUILD_TYPE CAIRO"
+        AC_MSG_RESULT([internal])
+        SYSTEM_CAIRO=NO
+    else
+        AC_MSG_RESULT([external])
+        SYSTEM_CAIRO=YES
+        PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 )
+    fi
+fi
+
 AC_SUBST(ENABLE_CAIRO)
 AC_SUBST(SYSTEM_CAIRO)
 AC_SUBST(CAIRO_CFLAGS)
