diff -Nur xetex-0.996/libs/icu-release-3-4-source/config/mh-darwin xetex-0.996-liulk/libs/icu-release-3-4-source/config/mh-darwin
--- xetex-0.996/libs/icu-release-3-4-source/config/mh-darwin	2007-01-24 14:42:26.000000000 -0500
+++ xetex-0.996-liulk/libs/icu-release-3-4-source/config/mh-darwin	2008-04-15 19:30:24.000000000 -0400
@@ -57,18 +57,10 @@
 %.d : $(srcdir)/%.c
 	@echo "generating dependency information for $<"
 	@$(GEN_DEPS.c) $< > /dev/null
-	@mv $@ $@~
-	@echo -n "$@ " > $@
-	@cat < $@~ >> $@
-	@-rm $@~
 
 %.d : $(srcdir)/%.cpp
 	@echo "generating dependency information for $<"
 	@$(GEN_DEPS.cc) $< >/dev/null
-	@mv $@ $@~
-	@echo -n "$@ " > $@
-	@cat < $@~ >> $@
-	@-rm $@~
 
 ## Versioned libraries rules
 
--- xetex-0.996/texk/web2c/xetexdir/xetex.mk	2007-01-24 14:42:26.000000000 -0500
+++ xetex-0.996-liulk/texk/web2c/xetexdir/xetex.mk	2008-04-15 18:08:56.000000000 -0400
@@ -78,6 +78,7 @@
 
 ZLIBCPPFLAGS = @ZLIBCPPFLAGS@
 LDZLIB = @LDZLIB@
+ZLIBDEP = @ZLIBDEP@
 
 ZLIBDIR = ../../libs/zlib
 ZLIBSRCDIR = $(srcdir)/$(ZLIBDIR)
@@ -86,6 +87,7 @@
 FONTCONFIGLDFLAGS  = @FONTCONFIGLDFLAGS@
 
 xetexlibs = $(LDICU) $(LDTECKIT) $(LDFREETYPE2) $(LDZLIB)
+xetexdeps = $(ICUDEP) $(TECKITDEP) $(FREETYPE2DEP) $(ZLIBDEP)
 
 # Font-related headers
 XeTeXFontHdrs = \
@@ -199,7 +201,7 @@
 	$(compile) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
 
 # Making xetex.
-xetex: $(xetex_o) $(xetex_add_o) $(xetex_images_o) $(xetex_ot_layout_o) $(EXTRADEPS)
+xetex: $(xetex_o) $(xetex_add_o) $(xetex_images_o) $(xetex_ot_layout_o) $(xetexdeps) $(EXTRADEPS)
 	@CXXHACKLINK@ $(xetex_o) $(xetex_add_o) $(xetex_images_o) $(xetex_ot_layout_o) \
 	$(FONTCONFIGLDFLAGS) $(socketlibs) $(xetexlibs) $(EXTRALIBS) \
 	@CXXHACKLDLIBS@ @CXXLDEXTRA@ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
--- xetex-0.996/texk/xdv2pdf/xdv2pdf.cpp	2007-01-24 14:42:26.000000000 -0500
+++ xetex-0.996-liulk/texk/xdv2pdf/xdv2pdf.cpp	2008-04-15 18:05:50.000000000 -0400
@@ -37,12 +37,6 @@
 	also permissible to omit xdvfile but specify pdffile; then input is from stdin
 */
 
-#ifdef __POWERPC__
-#define MAC_OS_X_VERSION_MIN_REQUIRED	MAC_OS_X_VERSION_10_2
-#else
-#define MAC_OS_X_VERSION_MIN_REQUIRED	MAC_OS_X_VERSION_10_4
-#endif
-
 #include "config.h"
 
 #include <ApplicationServices/ApplicationServices.h>
@@ -395,9 +389,12 @@
 			setColor(sNativeFonts[cur_cgFont].color);
 		else
 			setColor(gTextColor);
+
+#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
 		if (&CGContextShowGlyphsWithAdvances != NULL)
 			CGContextShowGlyphsWithAdvances(gCtx, gGlyphs, gAdvances, gGlyphCount);
 		else
+#endif
 			myShowGlyphsWithAdvances(gCtx, gGlyphs, gAdvances, gGlyphCount);
 
 		gGlyphCount = 0;
@@ -555,9 +552,11 @@
 	advances[glyphCount-1].width = 0.0;
 	advances[glyphCount-1].height = 0.0;
 
+#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
 	if (&CGContextShowGlyphsWithAdvances != NULL)
 		CGContextShowGlyphsWithAdvances(gCtx, glyphs, advances, glyphCount);
 	else
+#endif
 		myShowGlyphsWithAdvances(gCtx, glyphs, advances, glyphCount);
 
 	if (gTrackingBoxes) {
@@ -1718,6 +1717,7 @@
 				values[i] = CFNumberCreate(kCFAllocatorDefault, kCFNumberFloat32Type, &f);
 			}
 			
+#if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED
 			if (&CGFontCreateCopyWithVariations != NULL) {
 				CFDictionaryRef	variations = CFDictionaryCreate(kCFAllocatorDefault,
 					(const void**)axes, (const void**)values, n,
@@ -1727,6 +1727,7 @@
 				CFRelease(variations);
 			}
 			else
+#endif
 				variationWarning();
 
 			for (int i = 0; i < n; ++i) {
@@ -2041,7 +2042,6 @@
 	gPageStarted = false;
 }
 
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
 /* From Apple Technical Q&A 1396, Listing 2 */
 static CGColorSpaceRef
 CreateICCColorSpaceFromPathToProfile(const char* iccProfilePath)
@@ -2103,25 +2103,26 @@
 	return NULL;
 }
 /* end of Apple Q&A code */
-#endif
 
 static void
 processAllPages(FILE* xdv)
 {
 	// initialize some global variables that we use as CG "constants"
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
+#if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED
 	if (&kCGColorSpaceGenericRGB == NULL) {
+#endif
 		gRGBColorSpace = CreateColorSpaceFromSystemICCProfileName(CFSTR("Generic RGB Profile.icc"));
 		gCMYKColorSpace = CreateColorSpaceFromSystemICCProfileName(CFSTR("Generic CMYK Profile.icc"));
 		gGrayColorSpace = CreateColorSpaceFromSystemICCProfileName(CFSTR("Generic Gray Profile.icc"));
+#if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED
 	}
 	else
-#endif
 	{
 		gRGBColorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
 		gCMYKColorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericCMYK);
 		gGrayColorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericGray);
 	}
+#endif
 
 	if (gRGBColorSpace == NULL || gCMYKColorSpace == NULL || gGrayColorSpace == NULL) {
 		fprintf(stderr, "\n*** unable to initialize color spaces.... something's badly broken\n");
