Append version number to cache file names
diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
index 73b949e..2813562 100644
--- a/fontconfig/fontconfig.h
+++ b/fontconfig/fontconfig.h
@@ -1,5 +1,5 @@
 /*
- * $XFree86: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.26 2002/08/19 19:32:04 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.28 2002/08/24 20:08:53 keithp Exp $
  *
  * Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
  *
@@ -41,6 +41,18 @@
 
 #define FC_VERSION	((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
 
+/*
+ * Current font cache file format version
+ * This is appended to the cache files so that multiple
+ * versions of the library will peacefully coexist
+ *
+ * Change this value whenever the disk format for the cache file
+ * changes in any non-compatible way.  Try to avoid such changes as
+ * it means multiple copies of the font information.
+ */
+
+#define FC_CACHE_VERSION    "1"
+
 #define FcTrue		1
 #define FcFalse		0
 
@@ -72,8 +84,8 @@
 #define FC_CHARSET	    "charset"		/* CharSet */
 #define FC_LANG		    "lang"		/* String OS/2 CodePageRange */
 
-#define FC_DIR_CACHE_FILE	    "fonts.cache"
-#define FC_USER_CACHE_FILE	    ".fonts.cache"
+#define FC_DIR_CACHE_FILE	    "fonts.cache-"FC_CACHE_VERSION
+#define FC_USER_CACHE_FILE	    ".fonts.cache-"FC_CACHE_VERSION
 
 /* Adjust outline rasterizer */
 #define FC_CHAR_WIDTH	    "charwidth"	/* Int */
diff --git a/src/fcdir.c b/src/fcdir.c
index 8843da0..6c49591 100644
--- a/src/fcdir.c
+++ b/src/fcdir.c
@@ -1,5 +1,5 @@
 /*
- * $XFree86: xc/lib/fontconfig/src/fcdir.c,v 1.5 2002/05/21 17:06:22 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/src/fcdir.c,v 1.7 2002/07/28 10:50:59 keithp Exp $
  *
  * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
@@ -169,13 +169,13 @@
     if (!force)
     {
 	/*
-	 * Check fonts.cache file
+	 * Check fonts.cache-<version> file
 	 */
 	if (FcDirCacheReadDir (set, dirs, dir))
 	    return FcTrue;
     
 	/*
-	 * Check ~/.fonts.cache file
+	 * Check ~/.fonts.cache-<version> file
 	 */
 	if (cache && FcGlobalCacheScanDir (set, dirs, cache, dir))
 	    return FcTrue;
diff --git a/src/fcint.h b/src/fcint.h
index a5e3f11..cd43b76 100644
--- a/src/fcint.h
+++ b/src/fcint.h
@@ -200,7 +200,7 @@
 } FcStrBuf;
 
 /*
- * The per-user ~/.fonts.cache file is loaded into
+ * The per-user ~/.fonts.cache-<version> file is loaded into
  * this data structure.  Each directory gets a substructure
  * which is validated by comparing the directory timestamp with
  * that saved in the cache.  When valid, the entire directory cache
diff --git a/src/fontconfig.man b/src/fontconfig.man
index cac9aba..4d9a6e4 100644
--- a/src/fontconfig.man
+++ b/src/fontconfig.man
@@ -1195,7 +1195,8 @@
 home directory.  This file is used to hold information about fonts that
 isn't present in the per-directory cache files.  It is automatically
 maintained by the fontconfig library.  The default for this file 
-is ``~/.fonts.cache''.
+is ``~/.fonts.cache-<version>'', where <version> is the font configuration
+file version number (currently 1).
 
 .SS <include ignore_missing="no">
 This element contains the name of an additional configuration file.  When
@@ -1451,7 +1452,7 @@
 is the conventional location for per-user font configuration, although the
 actual location is specified in the global fonts.conf file.
 
-.B ~/.fonts.cache
+.B ~/.fonts.cache-*
 is the conventional repository of font information that isn't found in the
 per-directory caches.  This file is automatically maintained by fontconfig.