--- /dev/null
+++ cairo/cairo-1.4.2.diff
@@ -0,0 +1,304 @@
+--- /dev/null
++++ misc/build/cairo-1.4.2/makefile.mk
+@@ -0,0 +1,9 @@
++PRJ=..$/..$/..$/..
++
++TARGET=source
++
++.INCLUDE :  settings.mk
++
++all:
++	cd pixman$/src; $(MAKECMD) subdmake=true $(MFLAGS) $(CALLMACROS)
++	cd src; $(MAKECMD) subdmake=true $(MFLAGS) $(CALLMACROS)
+dummy line to avoid confusing diff-mode
+--- /dev/null
++++ misc/build/cairo-1.4.2/config.h
+@@ -0,0 +1,146 @@
++/* define if glitz backend can be tested against agl */
++/* #undef CAIRO_CAN_TEST_GLITZ_AGL_SURFACE */
++
++/* define if glitz backend can be tested against egl */
++/* #undef CAIRO_CAN_TEST_GLITZ_EGL_SURFACE */
++
++/* define if glitz backend can be tested against glx */
++/* #undef CAIRO_CAN_TEST_GLITZ_GLX_SURFACE */
++
++/* define if glitz backend can be tested against wgl */
++/* #undef CAIRO_CAN_TEST_GLITZ_WGL_SURFACE */
++
++/* Define to 1 if the PDF backend can be tested (need poppler and other
++   dependencies for pdf2png) */
++/* #undef CAIRO_CAN_TEST_PDF_SURFACE */
++
++/* Define to 1 if the SVG backend can be tested */
++/* #undef CAIRO_CAN_TEST_SVG_SURFACE */
++
++/* define in the extra test surface have been built into cairo for the test
++   suite */
++/* #undef CAIRO_HAS_TEST_SURFACES */
++
++/* Define to 1 to disable certain code paths that rely heavily on double
++   precision floating-point calculation */
++/* #undef DISABLE_SOME_FLOATING_POINT */
++
++/* Define to 1 if your system stores words within floats with the most
++   significant word first */
++/* #undef FLOAT_WORDS_BIGENDIAN */
++
++/* Define to 1 if you have the <dlfcn.h> header file. */
++/* #undef HAVE_DLFCN_H */
++
++/* Define to 1 if you have the `FcFini' function. */
++/* #undef HAVE_FCFINI */
++
++/* FT_Bitmap_Size structure includes y_ppem field */
++/* #undef HAVE_FT_BITMAP_SIZE_Y_PPEM */
++
++/* Define to 1 if you have the `FT_GlyphSlot_Embolden' function. */
++/* #undef HAVE_FT_GLYPHSLOT_EMBOLDEN */
++
++/* Define to 1 if you have the `FT_Load_Sfnt_Table' function. */
++/* #undef HAVE_FT_LOAD_SFNT_TABLE */
++
++/* Whether you have gcov */
++/* #undef HAVE_GCOV */
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++/* #undef HAVE_INTTYPES_H */
++
++/* Define to 1 if you have the <memory.h> header file. */
++#define HAVE_MEMORY_H 1
++
++/* Define to 1 if you have the <pthread.h> header file. */
++/* #undef HAVE_PTHREAD_H */
++
++/* Define to 1 if you have Linux compatible sched_getaffinity */
++/* #undef HAVE_SCHED_GETAFFINITY */
++
++/* Define to 1 if you have the <sched.h> header file. */
++/* #undef HAVE_SCHED_H */
++
++/* Define to 1 if you have the <signal.h> header file. */
++#define HAVE_SIGNAL_H 1
++
++/* Define to 1 if you have the <stdint.h> header file. */
++/* #undef HAVE_STDINT_H */
++
++/* Needed without <stdint.h> */
++#define INT32_MIN (-2147483647 - 1)
++#define INT32_MAX 2147483647
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#define HAVE_STDLIB_H 1
++
++/* Define to 1 if you have the <strings.h> header file. */
++/* #undef HAVE_STRINGS_H */
++
++/* Define to 1 if you have the <string.h> header file. */
++#define HAVE_STRING_H 1
++
++/* Define to 1 if you have the <sys/int_types.h> header file. */
++/* #undef HAVE_SYS_INT_TYPES_H */
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#define HAVE_SYS_TYPES_H 1
++
++/* Define to 1 if the system has the type `uint128_t'. */
++/* #undef HAVE_UINT128_T */
++
++/* Define to 1 if the system has the type `uint64_t'. */
++#define HAVE_UINT64_T 1
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
++
++/* Define to 1 if you have the `vasnprintf' function. */
++/* #undef HAVE_VASNPRINTF */
++
++/* Define to 1 if you have the <windows.h> header file. */
++#define HAVE_WINDOWS_H 1
++
++/* Name of package */
++#define PACKAGE "cairo"
++
++/* Define to the address where bug reports for this package should be sent. */
++#define PACKAGE_BUGREPORT "http://bugs.freedesktop.org/enter_bug.cgi?product=cairo"
++
++/* Define to the full name of this package. */
++#define PACKAGE_NAME "cairo"
++
++/* Define to the full name and version of this package. */
++#define PACKAGE_STRING "cairo 1.4.2"
++
++/* Define to the one symbol short name of this package. */
++#define PACKAGE_TARNAME "cairo"
++
++/* Define to the version of this package. */
++#define PACKAGE_VERSION "1.4.2"
++
++/* Define to 1 if you have the ANSI C header files. */
++#define STDC_HEADERS 1
++
++/* use MMX compiler intrinsics */
++#define USE_MMX 1
++
++/* Version number of package */
++#define VERSION "1.4.2"
++
++/* Define to 1 if your processor stores words with the most significant byte
++   first (like Motorola and SPARC, unlike Intel and VAX). */
++/* #undef WORDS_BIGENDIAN */
++
++/* Define to 1 if the X Window System is missing or not being used. */
++#define X_DISPLAY_MISSING 1
++
++/* Define to `__inline__' or `__inline' if that's what the C compiler
++   calls it, or to nothing if 'inline' is not supported under any name.  */
++#ifndef __cplusplus
++#define inline
++#endif
+dummy line to avoid confusing diff-mode
+--- /dev/null
++++ misc/build/cairo-1.4.2/src/cairo-features.h
+@@ -0,0 +1,26 @@
++/* Generated by configure.  Do not edit */
++#ifndef CAIRO_FEATURES_H
++#define CAIRO_FEATURES_H
++
++#ifdef  __cplusplus
++# define CAIRO_BEGIN_DECLS  extern "C" {
++# define CAIRO_END_DECLS    }
++#else
++# define CAIRO_BEGIN_DECLS
++# define CAIRO_END_DECLS
++#endif
++
++#ifndef cairo_public
++# define cairo_public
++#endif
++
++#define CAIRO_VERSION_MAJOR 1
++#define CAIRO_VERSION_MINOR 4
++#define CAIRO_VERSION_MICRO 2
++
++#define CAIRO_VERSION_STRING "1.4.2"
++
++#define CAIRO_HAS_WIN32_FONT 1
++#define CAIRO_HAS_WIN32_SURFACE 1
++
++#endif
+dummy line to avoid confusing diff-mode
+--- /dev/null
++++ misc/build/cairo-1.4.2/pixman/src/makefile.mk
+@@ -0,0 +1,38 @@
++PRJ=..$/..$/..$/..$/..$/..
++
++PRJNAME=cairo
++TARGET=pixman
++ENABLE_EXCEPTIONS=TRUE
++LIBTARGET=NO
++
++.INCLUDE :  settings.mk
++
++CFLAGS+=-I..$/..
++CDEFS+=-DHAVE_CONFIG_H
++
++SLOFILES = \
++	$(SLO)$/pixregion.obj \
++	$(SLO)$/fbpict.obj \
++	$(SLO)$/icblt.obj \
++	$(SLO)$/icbltone.obj \
++	$(SLO)$/iccolor.obj \
++	$(SLO)$/icformat.obj \
++	$(SLO)$/icimage.obj \
++	$(SLO)$/icpixels.obj \
++	$(SLO)$/icrect.obj \
++	$(SLO)$/icstipple.obj \
++	$(SLO)$/ictrap.obj \
++	$(SLO)$/ictransform.obj \
++	$(SLO)$/ictri.obj \
++	$(SLO)$/icutil.obj \
++	$(SLO)$/fbedge.obj \
++	$(SLO)$/fbtrap.obj \
++	$(SLO)$/fbcompose.obj \
++	$(SLO)$/renderedge.obj \
++	$(SLO)$/fbmmx.obj
++
++LIB1ARCHIV=$(LB)$/lib$(TARGET).a
++LIB1TARGET=$(SLB)$/$(TARGET).lib
++LIB1OBJFILES= $(SLOFILES)
++
++.INCLUDE :  target.mk
+dummy line to avoid confusing diff-mode
+--- /dev/null
++++ misc/build/cairo-1.4.2/src/makefile.mk
+@@ -0,0 +1,65 @@
++PRJ=..$/..$/..$/..$/..
++
++PRJNAME=cairo
++TARGET=cairo
++ENABLE_EXCEPTIONS=TRUE
++LIBTARGET=NO
++
++.INCLUDE :	settings.mk
++
++CFLAGS+=-I.. -I..$/pixman$/src
++CDEFS+=-DHAVE_CONFIG_H
++
++SLOFILES = \
++	$(SLO)$/cairo.obj \
++	$(SLO)$/cairo-arc.obj \
++	$(SLO)$/cairo-array.obj \
++	$(SLO)$/cairo-base85-stream.obj \
++	$(SLO)$/cairo-bentley-ottmann.obj \
++	$(SLO)$/cairo-cache.obj \
++	$(SLO)$/cairo-clip.obj \
++	$(SLO)$/cairo-color.obj \
++	$(SLO)$/cairo-debug.obj \
++	$(SLO)$/cairo-fixed.obj \
++	$(SLO)$/cairo-font.obj \
++	$(SLO)$/cairo-font-options.obj \
++	$(SLO)$/cairo-freelist.obj \
++	$(SLO)$/cairo-gstate.obj \
++	$(SLO)$/cairo-hash.obj \
++	$(SLO)$/cairo-hull.obj \
++	$(SLO)$/cairo-image-surface.obj \
++	$(SLO)$/cairo-lzw.obj \
++	$(SLO)$/cairo-matrix.obj \
++	$(SLO)$/cairo-operator.obj \
++	$(SLO)$/cairo-path.obj \
++	$(SLO)$/cairo-path-bounds.obj \
++	$(SLO)$/cairo-path-fill.obj \
++	$(SLO)$/cairo-path-fixed.obj \
++	$(SLO)$/cairo-path-stroke.obj \
++	$(SLO)$/cairo-pen.obj \
++	$(SLO)$/cairo-polygon.obj \
++	$(SLO)$/cairo-rectangle.obj \
++	$(SLO)$/cairo-region.obj \
++	$(SLO)$/cairo-scaled-font.obj \
++	$(SLO)$/cairo-skiplist.obj \
++	$(SLO)$/cairo-slope.obj \
++	$(SLO)$/cairo-spline.obj \
++	$(SLO)$/cairo-stroke-style.obj \
++	$(SLO)$/cairo-surface.obj \
++	$(SLO)$/cairo-surface-fallback.obj \
++	$(SLO)$/cairo-traps.obj \
++	$(SLO)$/cairo-pattern.obj \
++	$(SLO)$/cairo-unicode.obj \
++	$(SLO)$/cairo-output-stream.obj \
++	$(SLO)$/cairo-wideint.obj \
++	$(SLO)$/cairo-meta-surface.obj \
++	$(SLO)$/cairo-paginated-surface.obj \
++	$(SLO)$/cairo-analysis-surface.obj \
++	$(SLO)$/cairo-win32-font.obj \
++	$(SLO)$/cairo-win32-surface.obj
++
++LIB1ARCHIV=$(LB)$/lib$(TARGET).a
++LIB1TARGET=$(SLB)$/$(TARGET).lib
++LIB1OBJFILES= $(SLOFILES)
++
++.INCLUDE :  target.mk
+dummy line to avoid confusing diff-mode
