[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

X Strike Force XFree86 SVN commit: r1679 - in trunk/debian: . patches



Author: branden
Date: 2004-07-21 02:52:26 -0500 (Wed, 21 Jul 2004)
New Revision: 1679

Added:
   trunk/debian/patches/095_fontutils_are_not_fonts.diff
Removed:
   trunk/debian/patches/914_debian_donot_build_fonts
   trunk/debian/patches/915_debian_donot_build_specs
Modified:
   trunk/debian/CHANGESETS
   trunk/debian/README
   trunk/debian/changelog
   trunk/debian/patches/003_linux.cf_and_xfree86.cf.diff
   trunk/debian/patches/004_imake_manpage_handling_overhaul.diff
   trunk/debian/patches/099c_support_loadable_external_Xcursor_lib.diff
   trunk/debian/patches/600_amd64_support.diff
   trunk/debian/patches/800_gnu_config.diff
   trunk/debian/patches/820_gnu-freebsd_config.diff
   trunk/debian/patches/842_netbsd_NetBSD.cf_fixes.diff
   trunk/debian/patches/900_debian_config.diff
   trunk/debian/rules
Log:
Support building only the parts of the source tree needed by
architecture-specific packages.
+ Modify Debian Imake configuration to support building with fonts and
  specs docs turned off (patch #003).  Resynchronize GNU/Hurd,
  GNU/FreeBSD, and GNU/NetBSD Imake configurations with Debian
  configuration (patches #800, #820, #842, #900).  Resync diffs in patches
  #004, #099c, #600.
+ Modify Imakefiles to build and install the font utilities even if the
  fonts themselves are not being shipped (patch #095).
+ Make the "build" target a dummy target, replacing it with
  "build-arch-only" and "build-all" targets.  Target-specific variable
  values are used to invoke a "real-build" target, turning off the
  building of fonts and "specs docs" as needed.
+ Add comments to rules file, update $(stampdir_targets) and .PHONY
  target.
+ Split MANIFEST files into arch-specific and arch-independent parts.
  Update the README to explain how these files work now and how to update
  them.
+ Ship the XTerm control sequences document only in the xspecs package.
Consequences:
+ Reduce the disk space required to build the package by ~520MB when the
  "binary-arch" target is used (e.g., by "dpkg-buildpackage -B".)
+ Reduce the build time by 20 to 30 percent when the "binary-arch" target
  is used (ccache users might see even more improvement).
+ Make the buildd admins hate us less.

Add Vim modeline and SVN Id keyword to debian/README, and set svn:keywords
property on file.

Remove old kludge from debian/rules that worked around an ancient bug in
Vim's syntax highlighting.

Send whitespace police through debian/rules.

Stop prefixing stamp files with "stamp-", since they already live in
$(STAMP_DIR).

Drop patches #914 and #915; superseded by rules file changes and patch
#095.


Modified: trunk/debian/CHANGESETS
===================================================================
--- trunk/debian/CHANGESETS	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/CHANGESETS	2004-07-21 07:52:26 UTC (rev 1679)
@@ -117,16 +117,32 @@
 (thanks, Su Yong).  (Closes: #255224)
     1655
 
-Split binary-arch and binary-indep targets in debian/rules.
-  + Split MANIFEST files in arch specific and arch independent parts.
-  + Move xterm documentation specifications to xspecs package.
-  + Add debian/patches/914_debian_donot_build_fonts.
-  + Add debian/patches/915_debian_donot_build_specs.
-  + Reduce the disk space required to build the package of approx. 520MB.
-  + Reduce the time to build of approx. 20 to 30%. This is striclty arch
-    dependent.
-  + Make buildd's admins hate us less.
-    1658, 1659, 1661, 1670, 1671
+Support building only the parts of the source tree needed by
+architecture-specific packages.
++ Modify Debian Imake configuration to support building with fonts and
+  specs docs turned off (patch #003).  Resynchronize GNU/Hurd,
+  GNU/FreeBSD, and GNU/NetBSD Imake configurations with Debian
+  configuration (patches #800, #820, #842, #900).  Resync diffs in patches
+  #004, #099c, #600.
++ Modify Imakefiles to build and install the font utilities even if the
+  fonts themselves are not being shipped (patch #095).
++ Make the "build" target a dummy target, replacing it with
+  "build-arch-only" and "build-all" targets.  Target-specific variable
+  values are used to invoke a "real-build" target, turning off the
+  building of fonts and "specs docs" as needed.
++ Add comments to rules file, update $(stampdir_targets) and .PHONY
+  target.
++ Split MANIFEST files into arch-specific and arch-independent parts.
+  Update the README to explain how these files work now and how to update
+  them.
++ Ship the XTerm control sequences document only in the xspecs package.
+Consequences:
++ Reduce the disk space required to build the package by ~520MB when the
+  "binary-arch" target is used (e.g., by "dpkg-buildpackage -B".)
++ Reduce the build time by 20 to 30 percent when the "binary-arch" target
+  is used (ccache users might see even more improvement).
++ Make the buildd admins hate us less.
+    1658, 1659, 1661, 1670, 1671, 1679
 
 Fix missing element of Debian X FAQ conversion to XHTML; correct
 s390-specific version of xfree86-common dh_installdocs file to recognize

Modified: trunk/debian/README
===================================================================
--- trunk/debian/README	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/README	2004-07-21 07:52:26 UTC (rev 1679)
@@ -1,3 +1,5 @@
+$Id$
+
 This file attempts to explain some of the oddities of the XFree86 Debian
 source package by describing the files and directories not usually found in
 a (debhelperized) source package.
@@ -76,32 +78,35 @@
   tools for handling fonts.alias and fonts.scale files are here.
 
 MANIFEST.$(ARCH).{in,all} and MANIFEST.all:
-  These files are here to keep track of what the install rules actually
-  install.  The combination of these files creates a MANIFEST.$(ARCH)
-  to reflect what the system expect to be installed after the build.  If this
-  changes, we need to know about it; there may be new files we want to ship,
-  or there may be a build-dependency problem such that files that should be
-  there are not.  This version is compared against one that is generated
-  after the XFree86 install rule is run.
+  These files are here to keep track of what the upstream install rules actually
+  install.  Together, these files create a MANIFEST.$(ARCH) file which reflects
+  what the system expects to be installed after the build.  If this changes, we
+  need to know about it; there may be new files we want to ship, or there may be
+  a build-dependency problem such that files that should be there are not.  This
+  version is compared against one that is generated after the XFree86 install
+  rule is run.
 
-  *VERY IMPORTANT*: It doesn't do any good to replace the MANIFEST files
-  without making appropriate changes to the debhelper files.  If you find
-  that a new MANIFEST file for your architecture needs to be generated,
-  contact the package maintainer, branden@debian.org.  Obviously there are
-  several ways to just shut the manifest check up and proceed with the
-  build process, but if it has changed, it is important to know why.
+  *VERY IMPORTANT*: It doesn't do any good to replace the MANIFEST files without
+  making appropriate changes to the debhelper files.  If you find that a new
+  MANIFEST file for your architecture needs to be generated, contact the package
+  maintenance team, the Debian X Strike Force <debian-x@lists.debian.org>.
+  Obviously there are several ways to just shut the manifest check up and
+  proceed with the build process, but if it has changed, it is important to know
+  why.
 
   Once you have updated the appropriate debhelper files specific to your
-  architecture (see next section), you will have to clean the new MANIFEST
-  from arch independant files. This can be achieved removing all the files
-  listed in MANIFEST{.$(ARCH),}.all from the new MANIFEST file.  Overwrite
-  then the old MANIFEST.$(ARCH) file with the new one.  Then start the build
-  again.  Be sure to get the new canonical version of MANIFEST.$(ARCH) to
-  the XFree86 package maintainer.  (This applies only if you are doing
-  official porting work for the Debian Project.)
+  architecture (see the next section), architecture-independent files will need
+  to be removed from the list of architecture-specific files listed for your
+  architecture in MANIFEST.$(ARCH).in.  Anything listed in MANIFEST.all should
+  not be listed in MANIFEST.$(ARCH).in.  Next, start the build again.  Repeat
+  this cycle until there are no more MANIFEST mismatches.  Be sure to get the
+  new canonical version of MANIFEST.$(ARCH) to the XFree86 package maintenance
+  team (if you are doing official porting work for the Debian Project).
 
-  NOTE: MANIFEST.$ARCH.all is preferred to MANIFEST.all (actually required
-  only by two architectures.
+  NOTE: If a MANIFEST.$(ARCH).all file exists, it is used in place of
+  MANIFEST.all.  This is a rare circumstance, and if you suspect you need to
+  create a MANIFEST.$(ARCH).all file, please contact the XFree86 package
+  maintenance team.
 
 $(package).*.$(ARCH):
   These exist in cases where the contents of one of the debhelper files is
@@ -111,3 +116,5 @@
 
   If a debhelper file with the .$(ARCH) extension is not present, debhelper
   will fall back to the version of the file without any .$(ARCH) extension.
+
+vim:set ai et sw=2 sts=2 tw=80:


Property changes on: trunk/debian/README
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/changelog	2004-07-21 07:52:26 UTC (rev 1679)
@@ -108,19 +108,35 @@
     accordingly.  Make xutils declare that it replaces xfonts-base (<<
     4.3.0.dfsg.1-7).
 
-  Changes by Fabio M. Di Nitto:
+  Changes by Fabio M. Di Nitto and Branden Robinson:
 
-  * Split binary-arch and binary-indep targets in debian/rules.
-    + Split MANIFEST files in arch specific and arch independent parts.
-    + Move xterm documentation specifications to xspecs package.
-    + Add debian/patches/914_debian_donot_build_fonts.
-    + Add debian/patches/915_debian_donot_build_specs.
-    + Reduce the disk space required to build the package of approx. 520MB.
-    + Reduce the time to build of approx. 20 to 30%. This is striclty arch
-      dependent.
-    + Make buildd's admins hate us less.
+  * Support building only the parts of the source tree needed by
+    architecture-specific packages.
+    + Modify Debian Imake configuration to support building with fonts and
+      specs docs turned off (patch #003).  Resynchronize GNU/Hurd,
+      GNU/FreeBSD, and GNU/NetBSD Imake configurations with Debian
+      configuration (patches #800, #820, #842, #900).  Resync diffs in patches
+      #004, #099c, #600.
+    + Modify Imakefiles to build and install the font utilities even if the
+      fonts themselves are not being shipped (patch #095).
+    + Make the "build" target a dummy target, replacing it with
+      "build-arch-only" and "build-all" targets.  Target-specific variable
+      values are used to invoke a "real-build" target, turning off the
+      building of fonts and "specs docs" as needed.
+    + Add comments to rules file, update $(stampdir_targets) and .PHONY
+      target.
+    + Split MANIFEST files into arch-specific and arch-independent parts.
+      Update the README to explain how these files work now and how to update
+      them.
+    + Ship the XTerm control sequences document only in the xspecs package.
+    Consequences:
+    + Reduce the disk space required to build the package by ~520MB when the
+      "binary-arch" target is used (e.g., by "dpkg-buildpackage -B".)
+    + Reduce the build time by 20 to 30 percent when the "binary-arch" target
+      is used (ccache users might see even more improvement).
+    + Make the buildd admins hate us less.
 
- -- Branden Robinson <branden@debian.org>  Tue, 20 Jul 2004 19:20:39 -0500
+ -- Branden Robinson <branden@debian.org>  Wed, 21 Jul 2004 02:46:46 -0500
 
 xfree86 (4.3.0.dfsg.1-6) unstable; urgency=low
 

Modified: trunk/debian/patches/003_linux.cf_and_xfree86.cf.diff
===================================================================
--- trunk/debian/patches/003_linux.cf_and_xfree86.cf.diff	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/003_linux.cf_and_xfree86.cf.diff	2004-07-21 07:52:26 UTC (rev 1679)
@@ -3,6 +3,9 @@
 Various Debian changes to xfree86.cf and linux.cf, including better
 support for GCC flags, including tweakability of optimization level.
 
+Support building with fonts and specs docs turned off (for
+architecture-specific-only package builds).
+
 This patch mostly by Branden Robinson.
 
 FontLibSharedFreeType disabled by ISHIKAWA Mutsumi; this change should be
@@ -15,8 +18,8 @@
 
 Not submitted to XFree86.
 
---- xc/config/cf/linux.cf~	2004-07-13 15:19:08.000000000 -0500
-+++ xc/config/cf/linux.cf	2004-07-13 17:35:34.000000000 -0500
+--- xc/config/cf/linux.cf~	2004-07-21 00:52:07.000000000 -0500
++++ xc/config/cf/linux.cf	2004-07-21 00:54:17.000000000 -0500
 @@ -93,17 +93,23 @@
  #endif
  
@@ -43,11 +46,34 @@
  # define XF86SetupUsesStaticTcl	NO
  /* un-comment this when it is un-broken */
  /* # define JoystickSupport YES */
-@@ -152,33 +158,82 @@
- #  define SpecsDocDirs			CTEXT GL ICCCM X11 Xext Xv i18n xterm
+@@ -142,43 +148,102 @@
+ #   define BuilderEMailAddr		"debian-x@lists.debian.org"
+ #  endif
+ #  define XFree86Devel			YES
+-#  define BuildAllSpecsDocs		YES
+ #  define InstallXinitConfig		YES
+ #  define InstallXdmConfig		YES
+ #  define InstallFSConfig		YES
+ #  define DebuggableLibraries		YES
+ #  define ForceNormalLib		YES
+-#  define BuildSpecsDocs		YES
+-#  define SpecsDocDirs			CTEXT GL ICCCM X11 Xext Xv i18n xterm
  #  define BuildRman			NO
  #  define BuildHtmlManPages		NO
 +/*
++ * Debian doesn't use certain parts of the tree when doing
++ * architecture-specific package builds.
++ */
++#  ifndef BuildFonts
++#   define BuildFonts			YES
++#  endif
++#  ifndef BuildSpecsDocs
++#   define BuildSpecsDocs		YES
++#  endif
++#  if BuildSpecsDocs
++#   define SpecsDocDirs			CTEXT GL ICCCM X11 Xext Xv i18n xterm
++#  endif
++/*
 + * The XFree86 Debian package uses a local patch that defines a
 + * PicLibraryTarget() Imake rule, instead of using upstream's method.
 + */
@@ -141,7 +167,7 @@
  #   endif /* i386Architecture */
  # endif /* DebianMaintainer */
  #endif /* LinuxDebian */
-@@ -649,10 +704,10 @@
+@@ -649,10 +714,10 @@
  # if UseElfFormat
  #  ifdef AlphaArchitecture
  #   define CcCmd		gcc -b alpha-linux
@@ -153,7 +179,7 @@
  #  endif /* AlphaArchitecture */
  #  ifdef HPArchitecture
  #   define CcCmd		gcc
-@@ -664,10 +719,10 @@
+@@ -664,10 +729,10 @@
  #  endif /* HPArchitecture */
  #  ifdef i386Architecture
  #   define CcCmd		gcc -b i486-linux
@@ -165,7 +191,7 @@
  #  endif /* i386Architecture */
  #  ifdef ia64Architecture
  #   define CcCmd		gcc
-@@ -678,29 +733,30 @@
+@@ -678,29 +743,30 @@
  #  endif /* ia64Architecture */
  #  ifdef Mc68020Architecture
  #   define CcCmd		gcc -b m68k-linux
@@ -204,7 +230,7 @@
  #   define DoLoadableServer	NO
  #  else
  #   define DoLoadableServer	YES
-@@ -745,7 +801,7 @@
+@@ -745,7 +811,7 @@
  
  #ifdef AlphaArchitecture
  # ifndef OptimizedCDebugFlags
@@ -213,7 +239,7 @@
  # endif
  # define LinuxMachineDefines	-D__alpha__
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -758,7 +814,7 @@
+@@ -758,7 +824,7 @@
  #ifdef Arm32Architecture
  # define DefaultCCOptions	-fsigned-char
  # ifndef OptimizedCDebugFlags
@@ -222,7 +248,7 @@
  # endif
  # define LinuxMachineDefines	-D__arm__ -D__arm32__ -U__arm -Uarm
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -766,7 +822,9 @@
+@@ -766,7 +832,9 @@
  #endif /* Arm32Achitecture */
  
  #ifdef HPArchitecture
@@ -233,7 +259,7 @@
  # define LinuxMachineDefines	-D__hppa__
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
  # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
-@@ -774,7 +832,7 @@
+@@ -774,7 +842,7 @@
  
  #ifdef i386Architecture
  # ifndef OptimizedCDebugFlags
@@ -242,7 +268,7 @@
  # endif
  # define LinuxMachineDefines	-D__i386__
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -783,7 +841,7 @@
+@@ -783,7 +851,7 @@
  
  #ifdef ia64Architecture
  # ifndef OptimizedCDebugFlags
@@ -251,7 +277,7 @@
  # endif
  # define LinuxMachineDefines	-D__ia64__
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -792,7 +850,7 @@
+@@ -792,7 +860,7 @@
  
  #ifdef Mc68020Architecture
  # ifndef OptimizedCDebugFlags
@@ -260,7 +286,7 @@
  # endif
  # define LinuxMachineDefines	-D__mc68000__
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -801,7 +859,7 @@
+@@ -801,7 +869,7 @@
  
  #ifdef MipsArchitecture
  # ifndef OptimizedCDebugFlags
@@ -269,7 +295,7 @@
  # endif
  # define LinuxMachineDefines	-D__mips__
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -811,7 +869,7 @@
+@@ -811,7 +879,7 @@
  #ifdef PpcArchitecture
  # define DefaultCCOptions	-fsigned-char
  # ifndef OptimizedCDebugFlags
@@ -278,7 +304,7 @@
  # endif
  # define LinuxMachineDefines	-D__powerpc__
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -820,7 +878,7 @@
+@@ -820,7 +888,7 @@
  
  #ifdef s390Architecture
  # ifndef OptimizedCDebugFlags
@@ -287,7 +313,7 @@
  # endif
  # define LinuxMachineDefines	-D__s390__
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -828,16 +886,17 @@
+@@ -828,16 +896,17 @@
  #endif /* s390Architecture */
  
  #ifdef s390xArchitecture
@@ -311,7 +337,7 @@
  # endif
  # define LinuxMachineDefines	-D__sparc__
  # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -859,7 +918,7 @@
+@@ -859,7 +928,7 @@
  #  else
  #   define SuperHArchOptFlags	-m3
  #  endif
@@ -320,7 +346,7 @@
  # ifndef SuperHebArchitecture
  #  ifdef SuperHebArchitecture
  #   define SuperHEndianFlags	-mb
-@@ -868,7 +927,7 @@
+@@ -868,7 +937,7 @@
  #  endif
  # endif
  # ifndef OptimizedCDebugFlags

Modified: trunk/debian/patches/004_imake_manpage_handling_overhaul.diff
===================================================================
--- trunk/debian/patches/004_imake_manpage_handling_overhaul.diff	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/004_imake_manpage_handling_overhaul.diff	2004-07-21 07:52:26 UTC (rev 1679)
@@ -298,9 +298,9 @@
  #ifndef StaticLibrary
  #define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
  #endif
---- xc/config/cf/linux.cf~	2004-03-17 13:06:13.000000000 -0500
-+++ xc/config/cf/linux.cf	2004-07-13 17:56:22.000000000 -0500
-@@ -164,6 +164,7 @@
+--- xc/config/cf/linux.cf~	2004-07-21 00:56:22.000000000 -0500
++++ xc/config/cf/linux.cf	2004-07-21 00:56:37.000000000 -0500
+@@ -174,6 +174,7 @@
   */
  #  define StaticNeedsPicForShared	NO
  #  define KernelVersionInBanner		YES
@@ -308,7 +308,7 @@
  /* The TT/Meltho fonts are all under non-free licenses. */
  #  define BuildTrueTypeFonts		NO
  #  define BuildBethMarduthoFonts	NO
-@@ -976,26 +977,6 @@
+@@ -986,26 +987,6 @@
  # define ConnectionFlags	-DUNIXCONN -DTCPCONN
  #endif
  

Added: trunk/debian/patches/095_fontutils_are_not_fonts.diff
===================================================================
--- trunk/debian/patches/095_fontutils_are_not_fonts.diff	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/095_fontutils_are_not_fonts.diff	2004-07-21 07:52:26 UTC (rev 1679)
@@ -0,0 +1,41 @@
+$Id$
+
+Fix Imakefiles so that turning off font building doesn't skip over the font
+utilities directory (which, indeed, does not contain fonts).
+
+This patch by Branden Robinson.
+
+Not submitted to XFree86.
+
+--- xc/Imakefile~	2004-07-16 16:12:44.000000000 -0500
++++ xc/Imakefile	2004-07-16 16:13:12.000000000 -0500
+@@ -19,9 +19,7 @@
+ #endif
+ 
+ #if !BuildServersOnly
+-#if BuildFonts
+         FONTSDIR = fonts
+-#endif
+ #ifndef Win32Architecture
+ #if BuildDocs
+         DOCSDIR = doc
+--- xc/fonts/Imakefile~	2004-07-16 16:13:59.000000000 -0500
++++ xc/fonts/Imakefile	2004-07-16 16:14:52.000000000 -0500
+@@ -18,12 +18,15 @@
+ PEXDIR = PEX
+ #endif
+ 
++#if BuildFonts
+ SUBDIRS = $(ENCODINGDIR) util bdf $(SCALEDDIR) $(PEXDIR)
+-
+-#if MakeLocalFontDir
++# if MakeLocalFontDir
+ MakeDirectories(install,$(FONTDIR)/local)
+ 	if [ ! -f $(DESTDIR)$(FONTDIR)/local/fonts.dir ]; then \
+ 	  echo "0" > $(DESTDIR)$(FONTDIR)/local/fonts.dir; fi
++# endif
++#else
++SUBDIRS = util
+ #endif
+ 
+ MakeSubdirs($(SUBDIRS))


Property changes on: trunk/debian/patches/095_fontutils_are_not_fonts.diff
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: trunk/debian/patches/099c_support_loadable_external_Xcursor_lib.diff
===================================================================
--- trunk/debian/patches/099c_support_loadable_external_Xcursor_lib.diff	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/099c_support_loadable_external_Xcursor_lib.diff	2004-07-21 07:52:26 UTC (rev 1679)
@@ -10,9 +10,9 @@
 
 Not submitted upstream.
 
---- xc/config/cf/linux.cf.orig	2004-02-01 14:06:04.000000000 -0500
-+++ xc/config/cf/linux.cf	2004-02-01 14:07:37.000000000 -0500
-@@ -188,6 +188,8 @@
+--- xc/config/cf/linux.cf~	2004-07-21 01:11:34.000000000 -0500
++++ xc/config/cf/linux.cf	2004-07-21 01:11:37.000000000 -0500
+@@ -198,6 +198,8 @@
  #  define HasRenderLibrary		YES
  #  define BuildXcursorLibrary		NO
  #  define HasXcursorLibrary		YES

Modified: trunk/debian/patches/600_amd64_support.diff
===================================================================
--- trunk/debian/patches/600_amd64_support.diff	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/600_amd64_support.diff	2004-07-21 07:52:26 UTC (rev 1679)
@@ -16,9 +16,9 @@
 
 Not submitted to XFree86.
 
---- xc/config/cf/linux.cf~	2004-07-14 02:22:02.000000000 -0500
-+++ xc/config/cf/linux.cf	2004-07-14 02:23:09.000000000 -0500
-@@ -579,7 +579,7 @@
+--- xc/config/cf/linux.cf~	2004-07-21 01:16:52.000000000 -0500
++++ xc/config/cf/linux.cf	2004-07-21 01:17:03.000000000 -0500
+@@ -589,7 +589,7 @@
  #define MkdirHierCmd		mkdir -p
  
  #ifndef HaveLib64

Modified: trunk/debian/patches/800_gnu_config.diff
===================================================================
--- trunk/debian/patches/800_gnu_config.diff	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/800_gnu_config.diff	2004-07-21 07:52:26 UTC (rev 1679)
@@ -1,68 +1,57 @@
 $Id$
 
-This patch by Marcus Brinkmann <brinkmd@debian.org>.
+Add Debian-specific configuration to gnu.cf (mostly derived from linux.cf).
 
-Adds Debian specific configuration to gnu.cf (mostly from linux.cf).
+This patch by Marcus Brinkmann <brinkmd@debian.org>, Robert Millan
+<zeratul2@wanadoo.es>, Daniel Stone <dstone@trinity.unimelb.edu.au>, and
+Branden Robinson.
 
-Original patch by Marcus Brinkmann <brinkmd@debian.org>, updated by
-Robert Millan <zeratul2@wanadoo.es> and
-Daniel Stone <dstone@trinity.unimelb.edu.au>.
+XXX: Examine whether the following defs need to be restored to the file:
 
---- xc/config/cf/gnu.cf.orig	Fri Aug 24 04:16:54 2001
-+++ xc/config/cf/gnu.cf	Sun Apr 13 11:19:47 2003
-@@ -18,6 +18,75 @@
+#define PamLibraries		-lpam -rdynamic -ldl
+#ifndef HasKatmaiSupport
+# define HasKatmaiSupport	NO
+#endif
+
+--- xc/config/cf/gnu.cf~	2004-07-21 01:21:38.000000000 -0500
++++ xc/config/cf/gnu.cf	2004-07-21 01:29:06.000000000 -0500
+@@ -18,6 +18,154 @@
  #endif
  XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
  
++#ifndef DefaultGcc2OptimizeOpt
++# define DefaultGcc2OptimizeOpt	-O2
++#endif
++#define DefaultGcc2AxpOpt	DefaultGcc2OptimizeOpt GccAliasingArgs
++#define DefaultGcc2i386Opt	DefaultGcc2OptimizeOpt GccAliasingArgs
++#define DefaultGcc2PpcOpt	DefaultGcc2OptimizeOpt GccAliasingArgs
++#define SystemManDirectory	/usr/share/man
 +#define HasPam			YES
-+#define PamLibraries		-lpam -rdynamic -ldl
-+#define XFree86Devel		YES
-+#define SystemManDirectory	/usr/share/man
 +#define HasTk			YES
 +#define TkLibDir		/usr/lib
 +#define TkIncDir		/usr/include
-+#define TkLibName		tk8.3
++#define TkLibName		tk8.4
 +#define XF86SetupUsesStaticTk	NO
 +#define HasTcl			YES
 +#define TclLibDir		/usr/lib
 +#define TclIncDir		/usr/include
-+#define TclLibName		tcl8.3
++#define TclLibName		tcl8.4
 +#define XF86SetupUsesStaticTcl	NO
-+#define InstallXinitConfig	YES
-+#define InstallXdmConfig	YES
-+#define InstallFSConfig		YES
-+#define HasXdmAuth		YES
-+#define DebuggableLibraries	YES
-+#define ForceNormalLib		YES
-+#define BuildSpecsDocs		YES
-+#define SpecsDocDirs		CTEXT GL ICCCM X11 Xext Xv i18n xterm
-+#define BuildAllSpecsDocs	YES
-+#define HasLatex		YES
-+/* We build-dep on expat, fontconfig, freetype and Xft. */
-+#define BuildFreetype2Library	NO
-+#define HasFreetype2		YES
-+#define Freetype2Dir		/usr
-+#define BuildExpatLibrary            NO
-+#define HasExpat                     YES
-+#define ExpatIncDirStandard          YES
-+#define BuildFontconfigLibrary       NO
-+#define HasFontconfig                        YES
-+#define UseFontconfig                        YES
-+#define FontconfigIncDir             /usr/include/fontconfig
-+#define BuildXftLibrary              NO
++/* un-comment this when it is un-broken */
++/* # define JoystickSupport YES */
 +#define XAppLoadDir		EtcX11Directory/app-defaults
 +#define XFileSearchPathDefault	Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
++#define InstallAppDefFiles	YES
 +/* the relative symlink created by this rule causes problems for us */
-+#if InstallAppDefFiles
-+# define InstallAppDefaultsLong(file,class)				@@\
++#ifdef InstallAppDefFiles
++# if InstallAppDefFiles
++#  define InstallAppDefaultsLong(file,class)				@@\
 +InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
-+#else
-+# define InstallAppDefaultsLong(file,class)                            @@\
++# else
++#  define InstallAppDefaultsLong(file,class)				@@\
 +InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
++# endif
 +#endif /* InstallAppDefFiles */
-+#ifndef BuilderEMailAddr
-+# define BuilderEMailAddr	"submit@bugs.debian.org"
-+#endif
 +#define SharedLibXdmGreet	NO
 +#define LinkGLToUsrInclude	NO
 +#define LinkGLToUsrLib		NO
@@ -70,19 +59,114 @@
 +#define HasZlib			YES
 +#define SharedLibGlu		YES
 +#define NormalLibGlu		YES
-+#define BuildRman		NO
-+#define BuildHtmlManPages	NO
 +#define FSUseSyslog		YES
-+#ifndef HasKatmaiSupport
-+# define HasKatmaiSupport	NO
-+#endif
-+#define ProjectManSuffix             x
-+#define IconDir		Concat(ProjectRoot,/lib/X11/icons)
 +
++/*
++ *
++ *
++#define DebianMaintainer	YES
++ *
++ *
++ */
++
++#ifdef DebianMaintainer
++# ifndef XFree86CustomVersion
++#  define XFree86CustomVersion		"Debian"
++# endif
++# ifndef BuilderEMailAddr
++#  define BuilderEMailAddr		"debian-x@lists.debian.org"
++# endif
++# define XFree86Devel			YES
++# define InstallXinitConfig		YES
++# define InstallXdmConfig		YES
++# define InstallFSConfig		YES
++# define DebuggableLibraries		YES
++# define ForceNormalLib			YES
++# define BuildRman			NO
++# define BuildHtmlManPages		NO
++/*
++ * Debian doesn't use certain parts of the tree when doing
++ * architecture-specific package builds.
++ */
++# ifndef BuildFonts
++#  define BuildFonts			YES
++# endif
++# ifndef BuildSpecsDocs
++#  define BuildSpecsDocs		YES
++# endif
++# if BuildSpecsDocs
++#  define SpecsDocDirs			CTEXT GL ICCCM X11 Xext Xv i18n xterm
++# endif
++/*
++ * The XFree86 Debian package uses a local patch that defines a
++ * PicLibraryTarget() Imake rule, instead of using upstream's method.
++ */
++# define StaticNeedsPicForShared	NO
++# define KernelVersionInBanner		YES
++# define ProjectManSuffix		x
 +/* The TT/Meltho fonts are all under non-free licenses. */
-+#  define BuildTrueTypeFonts           NO
-+#  define BuildBethMarduthoFonts       NO
++# define BuildTrueTypeFonts		NO
++# define BuildBethMarduthoFonts		NO
++/*
++ * The XFree86 Debian package build-depends on external Expat, Fontconfig,
++ * Freetype, Render, Xcursor, and Xft libraries.
++ */
++# define BuildExpatLibrary		NO
++# define HasExpat			YES
++# define ExpatIncDirStandard		YES
++# define BuildFontconfigLibrary		NO
++# define HasFontconfig			YES
++# define UseFontconfig			YES
++# define FontconfigIncDir		/usr/include/fontconfig
++# define BuildFreetype2Library		NO
++# define HasFreetype2			YES
++# define BuildRenderLibrary		NO
++# define HasRenderLibrary		YES
++# define BuildXcursorLibrary		NO
++# define HasXcursorLibrary		YES
++/* Xlib needs to know the available version of Xcursor. */
++# define SharedXcursorRev		1
++# define IconDir			Concat(ProjectRoot,/lib/X11/icons)
++# define BuildXftLibrary		NO
++# define HasXftLibrary			YES
 +
++# ifdef UseInstalled
++#   define RenderLibraryDir		/usr
++#   define XftLibraryDir		/usr
++#   define XcursorLibraryDir		/usr
++# else
++/* The XFree86 Debian package uses a special hack to find these libraries. */
++#   define RenderLibraryDir		$(TOP)/../../imports
++#   define XftLibraryDir		$(TOP)/../../imports
++#   define XcursorLibraryDir		$(TOP)/../../imports
++# endif
++
++/*
++ * We want to be sure that the normal XFree86 X server and the debugging X
++ * server use the same FreeType2 library.  We'd *like* it if we could
++ * achieve this by both packages dynamically linking against the system's
++ * FreeType2 library; however, the normal X server package
++ * (xserver-xfree86) *cannot* be built dynamically linked against the
++ * FreeType2 library when the module loader is enabled because of
++ * code/design issues.  Therefore, we encapsulate XFree86's internal "fork"
++ * of the FreeType2 library into *both* xserver-xfree86 and
++ * xserver-xfree86-dbg.  When it becomes possible to build the
++ * module-loading server against an external FreeType2 shared library, we
++ * can drop this define:
++ */
++#  define FontLibSharedFreeType		NO
++
++#  define HasLinuxInput			NO
++#  define HasXdmAuth			YES
++#  define HasLatex			YES
++#  ifdef i386Architecture
++#   define HasX86Support		YES
++#   define HasMMXSupport		YES
++#   define Has3DNowSupport		YES
++#   define HasSSESupport		YES
++#  endif /* i386Architecture */
++#endif /* DebianMaintainer */
++
  #define GNUSourceDefines      -D_POSIX_C_SOURCE=199309L \
                                -D_POSIX_SOURCE -D_XOPEN_SOURCE \
                                -D_BSD_SOURCE -D_SVID_SOURCE

Modified: trunk/debian/patches/820_gnu-freebsd_config.diff
===================================================================
--- trunk/debian/patches/820_gnu-freebsd_config.diff	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/820_gnu-freebsd_config.diff	2004-07-21 07:52:26 UTC (rev 1679)
@@ -1,19 +1,33 @@
 $Id$
 
-  adds GNU/FreeBSD build defines to xc/config/cf. they're basicaly
-  copied and adapted from the defines for GNU OS.
+Add GNU/FreeBSD build defines to xc/config/cf.  They're basically copied
+and adapted from the defines for GNU OS.
 
-  not for submitting upstream yet, the defines in linux.cf, gnu.cf
-  and gnu-freebsd.cf (specialy the last two) share a large amount
-  of common lines. i want to split these into a gnu-common.cf file
-  so gnu.cf and gnu-freebsd.cf don't get easily outdated.
+Should not be submitted upstream yet; the defines in linux.cf, gnu.cf and
+gnu-freebsd.cf (specialy the last two) share a large amount of common
+lines.  I want to split these into a gnu-common.cf file so gnu.cf and
+gnu-freebsd.cf don't get easily outdated.
 
-  also the debian-specific lines in linux.cf should be moved somewhere
-  else. i suggested using site.def. --Robert Millan <rmh@debian.org>
+Also, the debian-specific lines in linux.cf should be moved somewhere
+else.  I suggested using site.def.
 
-diff -Nur xc/config/cf.old/Imake.cf xc/config/cf/Imake.cf
---- xc/config/cf.old/Imake.cf	2003-02-27 07:34:03.000000000 +0100
-+++ xc/config/cf/Imake.cf	2003-05-31 15:00:51.000000000 +0200
+ -- Robert Millan <rmh@debian.org>
+
+This patch modified by Branden Robinson to:
+* update it with the current "Debian section" of linux.cf
+* fix ident strings to not lie about the name of the file
+* comment out the definition of "DebianMaintainer" just like linux.cf
+
+XXX: Examine whether the following defs need to be restored to the file:
+
+#define PamLibraries		-lpam -rdynamic -ldl
+#ifndef HasKatmaiSupport
+# define HasKatmaiSupport	NO
+#endif
+
+diff -urN xc/config/cf~/Imake.cf xc/config/cf/Imake.cf
+--- xc/config/cf~/Imake.cf	2004-07-21 00:30:36.000000000 -0500
++++ xc/config/cf/Imake.cf	2004-07-21 01:45:40.000000000 -0500
 @@ -213,6 +213,12 @@
  # endif
  #endif /* NetBSD */
@@ -27,20 +41,19 @@
  #ifdef __FreeBSD__
  # define MacroIncludeFile <FreeBSD.cf>
  # define MacroFile FreeBSD.cf
-diff -Nur xc/config/cf.old/gfbLib.rules xc/config/cf/gfbLib.rules
---- xc/config/cf.old/gfbLib.rules	1970-01-01 01:00:00.000000000 +0100
-+++ xc/config/cf/gfbLib.rules	2003-05-31 15:00:39.000000000 +0200
-@@ -0,0 +1,181 @@
+diff -urN xc/config/cf~/gfbLib.rules xc/config/cf/gfbLib.rules
+--- xc/config/cf~/gfbLib.rules	1969-12-31 19:00:00.000000000 -0500
++++ xc/config/cf/gfbLib.rules	2004-07-21 01:46:23.000000000 -0500
+@@ -0,0 +1,180 @@
 +/*
 + * GNU/Hurd shared library rules
 + *
-+ * $XFree86: xc/config/cf/gnuLib.rules,v 1.5 2002/01/16 00:39:59 keithp Exp $
++ * xc/config/cf/gfbLib.rules
 + */
 +
 +/*
 + * GNU/FreeBSD shared library rules
 + * Cloned from GNU (ELF) shared library rules
-+ *
 + */
 +
 +#ifndef HasSharedLibraries
@@ -212,13 +225,12 @@
 +#ifndef SharedLibraryDataTarget
 +#define SharedLibraryDataTarget(libname,rev,salist)
 +#endif /* SharedLibraryTarget */
-diff -Nur xc/config/cf.old/gfbLib.tmpl xc/config/cf/gfbLib.tmpl
---- xc/config/cf.old/gfbLib.tmpl	1970-01-01 01:00:00.000000000 +0100
-+++ xc/config/cf/gfbLib.tmpl	2003-05-31 15:00:39.000000000 +0200
-@@ -0,0 +1,29 @@
+diff -urN xc/config/cf~/gfbLib.tmpl xc/config/cf/gfbLib.tmpl
+--- xc/config/cf~/gfbLib.tmpl	1969-12-31 19:00:00.000000000 -0500
++++ xc/config/cf/gfbLib.tmpl	2004-07-21 01:46:25.000000000 -0500
+@@ -0,0 +1,28 @@
 +/*
 + * GNU/FreeBSD shared library template
-+ *
 + */
 +
 +#ifndef FixupLibReferences
@@ -245,11 +257,11 @@
 +#define SharedXtstReqs	$(LDPRELIB) $(XLIB)
 +#define SharedXieReqs	$(LDPRELIB) $(XLIBONLY)
 +#define SharedSMReqs	$(LDPRELIB) $(ICELIB)
-diff -Nur xc/config/cf.old/gnu-freebsd.cf xc/config/cf/gnu-freebsd.cf
---- xc/config/cf.old/gnu-freebsd.cf	1970-01-01 01:00:00.000000000 +0100
-+++ xc/config/cf/gnu-freebsd.cf	2003-05-31 15:01:56.000000000 +0200
-@@ -0,0 +1,235 @@
-+XCOMM platform:  $XFree86: xc/config/cf/gnu.cf,v 1.11 2001/02/28 18:58:49 dawes Exp $
+diff -urN xc/config/cf~/gnu-freebsd.cf xc/config/cf/gnu-freebsd.cf
+--- xc/config/cf~/gnu-freebsd.cf	1969-12-31 19:00:00.000000000 -0500
++++ xc/config/cf/gnu-freebsd.cf	2004-07-21 01:48:28.000000000 -0500
+@@ -0,0 +1,314 @@
++XCOMM platform:  xc/config/cf/gnu-freebsd.cf
 +
 +#ifndef OSName
 +#define OSName			DefaultOSName
@@ -269,55 +281,39 @@
 +#endif
 +XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
 +
++#ifndef DefaultGcc2OptimizeOpt
++# define DefaultGcc2OptimizeOpt	-O2
++#endif
++#define DefaultGcc2AxpOpt	DefaultGcc2OptimizeOpt GccAliasingArgs
++#define DefaultGcc2i386Opt	DefaultGcc2OptimizeOpt GccAliasingArgs
++#define DefaultGcc2PpcOpt	DefaultGcc2OptimizeOpt GccAliasingArgs
++#define SystemManDirectory	/usr/share/man
 +#define HasPam			YES
-+#define PamLibraries		-lpam -rdynamic -ldl
-+#define XFree86Devel		YES
-+#define SystemManDirectory	/usr/share/man
 +#define HasTk			YES
 +#define TkLibDir		/usr/lib
 +#define TkIncDir		/usr/include
-+#define TkLibName		tk8.3
++#define TkLibName		tk8.4
 +#define XF86SetupUsesStaticTk	NO
 +#define HasTcl			YES
 +#define TclLibDir		/usr/lib
 +#define TclIncDir		/usr/include
-+#define TclLibName		tcl8.3
++#define TclLibName		tcl8.4
 +#define XF86SetupUsesStaticTcl	NO
-+#define InstallXinitConfig	YES
-+#define InstallXdmConfig	YES
-+#define InstallFSConfig		YES
-+#define HasXdmAuth		YES
-+#define DebuggableLibraries	YES
-+#define ForceNormalLib		YES
-+#define BuildSpecsDocs		YES
-+#define SpecsDocDirs		CTEXT GL ICCCM X11 Xext Xv i18n xterm
-+#define BuildAllSpecsDocs	YES
-+#define HasLatex		YES
-+/* We build-dep on expat, fontconfig, freetype and Xft. */
-+#define BuildFreetype2Library	NO
-+#define HasFreetype2		YES
-+#define Freetype2Dir		/usr
-+#define BuildExpatLibrary            NO
-+#define HasExpat                     YES
-+#define ExpatIncDirStandard          YES
-+#define BuildFontconfigLibrary       NO
-+#define HasFontconfig                        YES
-+#define UseFontconfig                        YES
-+#define FontconfigIncDir             /usr/include/fontconfig
-+#define BuildXftLibrary              NO
++/* un-comment this when it is un-broken */
++/* # define JoystickSupport YES */
 +#define XAppLoadDir		EtcX11Directory/app-defaults
 +#define XFileSearchPathDefault	Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
++#define InstallAppDefFiles	YES
 +/* the relative symlink created by this rule causes problems for us */
-+#if InstallAppDefFiles
-+# define InstallAppDefaultsLong(file,class)				@@\
++#ifdef InstallAppDefFiles
++# if InstallAppDefFiles
++#  define InstallAppDefaultsLong(file,class)				@@\
 +InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
-+#else
-+# define InstallAppDefaultsLong(file,class)                            @@\
++# else
++#  define InstallAppDefaultsLong(file,class)				@@\
 +InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
++# endif
 +#endif /* InstallAppDefFiles */
-+#ifndef BuilderEMailAddr
-+# define BuilderEMailAddr	"submit@bugs.debian.org"
-+#endif
 +#define SharedLibXdmGreet	NO
 +#define LinkGLToUsrInclude	NO
 +#define LinkGLToUsrLib		NO
@@ -325,19 +321,114 @@
 +#define HasZlib			YES
 +#define SharedLibGlu		YES
 +#define NormalLibGlu		YES
-+#define BuildRman		NO
-+#define BuildHtmlManPages	NO
 +#define FSUseSyslog		YES
-+#ifndef HasKatmaiSupport
-+# define HasKatmaiSupport	NO
-+#endif
-+#define ProjectManSuffix             x
-+#define IconDir		Concat(ProjectRoot,/lib/X11/icons)
 +
++/*
++ *
++ *
++#define DebianMaintainer	YES
++ *
++ *
++ */
++
++#ifdef DebianMaintainer
++# ifndef XFree86CustomVersion
++#  define XFree86CustomVersion		"Debian"
++# endif
++# ifndef BuilderEMailAddr
++#  define BuilderEMailAddr		"debian-x@lists.debian.org"
++# endif
++# define XFree86Devel			YES
++# define InstallXinitConfig		YES
++# define InstallXdmConfig		YES
++# define InstallFSConfig		YES
++# define DebuggableLibraries		YES
++# define ForceNormalLib			YES
++# define BuildRman			NO
++# define BuildHtmlManPages		NO
++/*
++ * Debian doesn't use certain parts of the tree when doing
++ * architecture-specific package builds.
++ */
++# ifndef BuildFonts
++#  define BuildFonts			YES
++# endif
++# ifndef BuildSpecsDocs
++#  define BuildSpecsDocs		YES
++# endif
++# if BuildSpecsDocs
++#  define SpecsDocDirs			CTEXT GL ICCCM X11 Xext Xv i18n xterm
++# endif
++/*
++ * The XFree86 Debian package uses a local patch that defines a
++ * PicLibraryTarget() Imake rule, instead of using upstream's method.
++ */
++# define StaticNeedsPicForShared	NO
++# define KernelVersionInBanner		YES
++# define ProjectManSuffix		x
 +/* The TT/Meltho fonts are all under non-free licenses. */
-+#  define BuildTrueTypeFonts           NO
-+#  define BuildBethMarduthoFonts       NO
++# define BuildTrueTypeFonts		NO
++# define BuildBethMarduthoFonts		NO
++/*
++ * The XFree86 Debian package build-depends on external Expat, Fontconfig,
++ * Freetype, Render, Xcursor, and Xft libraries.
++ */
++# define BuildExpatLibrary		NO
++# define HasExpat			YES
++# define ExpatIncDirStandard		YES
++# define BuildFontconfigLibrary		NO
++# define HasFontconfig			YES
++# define UseFontconfig			YES
++# define FontconfigIncDir		/usr/include/fontconfig
++# define BuildFreetype2Library		NO
++# define HasFreetype2			YES
++# define BuildRenderLibrary		NO
++# define HasRenderLibrary		YES
++# define BuildXcursorLibrary		NO
++# define HasXcursorLibrary		YES
++/* Xlib needs to know the available version of Xcursor. */
++# define SharedXcursorRev		1
++# define IconDir			Concat(ProjectRoot,/lib/X11/icons)
++# define BuildXftLibrary		NO
++# define HasXftLibrary			YES
 +
++# ifdef UseInstalled
++#   define RenderLibraryDir		/usr
++#   define XftLibraryDir		/usr
++#   define XcursorLibraryDir		/usr
++# else
++/* The XFree86 Debian package uses a special hack to find these libraries. */
++#   define RenderLibraryDir		$(TOP)/../../imports
++#   define XftLibraryDir		$(TOP)/../../imports
++#   define XcursorLibraryDir		$(TOP)/../../imports
++# endif
++
++/*
++ * We want to be sure that the normal XFree86 X server and the debugging X
++ * server use the same FreeType2 library.  We'd *like* it if we could
++ * achieve this by both packages dynamically linking against the system's
++ * FreeType2 library; however, the normal X server package
++ * (xserver-xfree86) *cannot* be built dynamically linked against the
++ * FreeType2 library when the module loader is enabled because of
++ * code/design issues.  Therefore, we encapsulate XFree86's internal "fork"
++ * of the FreeType2 library into *both* xserver-xfree86 and
++ * xserver-xfree86-dbg.  When it becomes possible to build the
++ * module-loading server against an external FreeType2 shared library, we
++ * can drop this define:
++ */
++#  define FontLibSharedFreeType		NO
++
++#  define HasLinuxInput			NO
++#  define HasXdmAuth			YES
++#  define HasLatex			YES
++#  ifdef i386Architecture
++#   define HasX86Support		YES
++#   define HasMMXSupport		YES
++#   define Has3DNowSupport		YES
++#   define HasSSESupport		YES
++#  endif /* i386Architecture */
++#endif /* DebianMaintainer */
++
 +#define GNUSourceDefines      -D_POSIX_C_SOURCE=199309L \
 +                              -D_POSIX_SOURCE -D_XOPEN_SOURCE \
 +                              -D_BSD_SOURCE -D_SVID_SOURCE

Modified: trunk/debian/patches/842_netbsd_NetBSD.cf_fixes.diff
===================================================================
--- trunk/debian/patches/842_netbsd_NetBSD.cf_fixes.diff	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/842_netbsd_NetBSD.cf_fixes.diff	2004-07-21 07:52:26 UTC (rev 1679)
@@ -7,9 +7,9 @@
 
 Originally written by Joel Baker <lucifer@lightbearer.com>.
 
---- xc/config/cf/NetBSD.cf~	2002-10-16 00:52:50.000000000 -0500
-+++ xc/config/cf/NetBSD.cf	2002-10-16 01:00:33.000000000 -0500
-@@ -18,12 +18,109 @@
+--- xc/config/cf/NetBSD.cf~	2004-07-21 02:11:39.000000000 -0500
++++ xc/config/cf/NetBSD.cf	2004-07-21 02:12:30.000000000 -0500
+@@ -18,12 +18,185 @@
  #define OSTeenyVersion		DefaultOSTeenyVersion
  #endif
  
@@ -32,11 +32,11 @@
  #ifndef OSVendor
 -#define	OSVendor		The NetBSD Foundation, Inc.
 +#define OSVendor		The NetBSD Foundation, Inc.
- #endif
++#endif
 +
 +#ifndef NetBSDBinUtilsMajorVersion
 +# define NetBSDBinUtilsMajorVersion	DefaultNetBSDBinUtilsMajorVersion
-+#endif
+ #endif
 +
  XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
  
@@ -46,32 +46,36 @@
 +# ifndef DefaultGcc2OptimizeOpt
 +#  define DefaultGcc2OptimizeOpt	-O2
 +# endif
-+# define DefaultGcc2AxpOpt	DefaultGcc2OptimizeOpt
-+# define DefaultGcc2i386Opt	DefaultGcc2OptimizeOpt
-+# define DefaultGcc2PpcOpt	DefaultGcc2OptimizeOpt
++# define DefaultGcc2AxpOpt	DefaultGcc2OptimizeOpt GccAliasingArgs
++# define DefaultGcc2i386Opt	DefaultGcc2OptimizeOpt GccAliasingArgs
++# define DefaultGcc2PpcOpt	DefaultGcc2OptimizeOpt GccAliasingArgs
 +# define SystemManDirectory	/usr/share/man
 +# define HasPam			YES
 +# define HasTk			YES
 +# define TkLibDir		/usr/lib
 +# define TkIncDir		/usr/include
-+# define TkLibName		tk8.3
++# define TkLibName		tk8.4
 +# define XF86SetupUsesStaticTk	NO
 +# define HasTcl			YES
 +# define TclLibDir		/usr/lib
 +# define TclIncDir		/usr/include
-+# define TclLibName		tcl8.3
++# define TclLibName		tcl8.4
 +# define XF86SetupUsesStaticTcl	NO
++/* un-comment this when it is un-broken */
++/* # define JoystickSupport YES */
 +# define XAppLoadDir		EtcX11Directory/app-defaults
 +# define XFileSearchPathDefault	Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
++# define InstallAppDefFiles	YES
 +/* the relative symlink created by this rule causes problems for us */
-+# if InstallAppDefFiles
-+#  define InstallAppDefaultsLong(file,class)				@@\
++# ifdef InstallAppDefFiles
++#  if InstallAppDefFiles
++#   define InstallAppDefaultsLong(file,class)				@@\
 +InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
-+# else
-+#  define InstallAppDefaultsLong(file,class)				@@\
++#  else
++#   define InstallAppDefaultsLong(file,class)				@@\
 +InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
++#  endif
 +# endif /* InstallAppDefFiles */
-+
 +# define SharedLibXdmGreet	NO
 +# define LinkGLToUsrInclude	NO
 +# define LinkGLToUsrLib		NO
@@ -94,33 +98,105 @@
 +#    define XFree86CustomVersion	"Debian"
 +#  endif
 +#  ifndef BuilderEMailAddr
-+#    define BuilderEMailAddr	"debian-x@lists.debian.org"
++#    define BuilderEMailAddr		"debian-x@lists.debian.org"
 +#  endif
-+#  define XFree86Devel		YES
-+#  define BuildAllSpecsDocs	YES
-+#  define InstallXinitConfig	YES
-+#  define InstallXdmConfig	YES
-+#  define InstallFSConfig	YES
-+#  define DebuggableLibraries	YES
-+#  define ForceNormalLib	YES
-+#  define BuildSpecsDocs	YES
-+#  define SpecsDocDirs		CTEXT GL ICCCM X11 Xext Xv i18n xterm
-+#  define BuildRman		NO
-+#  define BuildHtmlManPages	NO
-+#  define ProjectManSuffix	x
++#  define XFree86Devel			YES
++#  define InstallXinitConfig		YES
++#  define InstallXdmConfig		YES
++#  define InstallFSConfig		YES
++#  define DebuggableLibraries		YES
++#  define ForceNormalLib		YES
++#  define BuildRman			NO
++#  define BuildHtmlManPages		NO
++/*
++ * Debian doesn't use certain parts of the tree when doing
++ * architecture-specific package builds.
++ */
++#  ifndef BuildFonts
++#   define BuildFonts			YES
++#  endif
++#  ifndef BuildSpecsDocs
++#   define BuildSpecsDocs		YES
++#  endif
++#  if BuildSpecsDocs
++#   define SpecsDocDirs			CTEXT GL ICCCM X11 Xext Xv i18n xterm
++#  endif
++/*
++ * The XFree86 Debian package uses a local patch that defines a
++ * PicLibraryTarget() Imake rule, instead of using upstream's method.
++ */
++#  define StaticNeedsPicForShared	NO
++#  define KernelVersionInBanner		YES
++#  define ProjectManSuffix		x
++/* The TT/Meltho fonts are all under non-free licenses. */
++#  define BuildTrueTypeFonts		NO
++#  define BuildBethMarduthoFonts	NO
++/*
++ * The XFree86 Debian package build-depends on external Expat, Fontconfig,
++ * Freetype, Render, Xcursor, and Xft libraries.
++ */
++#  define BuildExpatLibrary		NO
++#  define HasExpat			YES
++#  define ExpatIncDirStandard		YES
++#  define BuildFontconfigLibrary	NO
++#  define HasFontconfig			YES
++#  define UseFontconfig			YES
++#  define FontconfigIncDir		/usr/include/fontconfig
++#  define BuildFreetype2Library		NO
++#  define HasFreetype2			YES
++#  define BuildRenderLibrary		NO
++#  define HasRenderLibrary		YES
++#  define BuildXcursorLibrary		NO
++#  define HasXcursorLibrary		YES
++/* Xlib needs to know the available version of Xcursor. */
++#  define SharedXcursorRev		1
++#  define IconDir			Concat(ProjectRoot,/lib/X11/icons)
++#  define BuildXftLibrary		NO
++#  define HasXftLibrary			YES
 +
-+/* we build-depend on libfreetype6-dev (FreeType 2.x) */
-+#  define BuildFreetype2Library	NO
-+#  define HasFreetype2		YES
-+#  define HasXdmAuth		YES
-+#  define HasLatex		YES
++#  ifdef UseInstalled
++#    define RenderLibraryDir		/usr
++#    define XftLibraryDir		/usr
++#    define XcursorLibraryDir		/usr
++#  else
++/* The XFree86 Debian package uses a special hack to find these libraries. */
++#    define RenderLibraryDir		$(TOP)/../../imports
++#    define XftLibraryDir		$(TOP)/../../imports
++#    define XcursorLibraryDir		$(TOP)/../../imports
++#  endif
++
++/*
++ * We want to be sure that the normal XFree86 X server and the debugging X
++ * server use the same FreeType2 library.  We'd *like* it if we could
++ * achieve this by both packages dynamically linking against the system's
++ * FreeType2 library; however, the normal X server package
++ * (xserver-xfree86) *cannot* be built dynamically linked against the
++ * FreeType2 library when the module loader is enabled because of
++ * code/design issues.  Therefore, we encapsulate XFree86's internal "fork"
++ * of the FreeType2 library into *both* xserver-xfree86 and
++ * xserver-xfree86-dbg.  When it becomes possible to build the
++ * module-loading server against an external FreeType2 shared library, we
++ * can drop this define:
++ */
++#   define FontLibSharedFreeType	NO
++
++#   define HasLinuxInput		YES
++#   define HasXdmAuth			YES
++#   define HasLatex			YES
++/* Enable extended instruction set support. */
++#   ifdef i386Architecture
++#    define HasX86Support		YES
++#    define HasMMXSupport		YES
++#    define Has3DNowSupport		YES
++#    define HasSSESupport		YES
++#   endif /* i386Architecture */
 +# endif /* DebianMaintainer */
 +#endif /* NetBSDDebian */
 +
  /*
   * C library features
   */
-@@ -87,8 +184,12 @@
+@@ -87,8 +260,12 @@
  
  #define HasUsableFileMmap	YES
  
@@ -134,7 +210,7 @@
  
  #define HasShadowPasswd		NO
  
-@@ -194,6 +296,8 @@
+@@ -194,6 +371,8 @@
  
  #if UseElfFormat
  #define DlLibrary		-rdynamic /* no -ldl yet */
@@ -143,7 +219,7 @@
  #else
  #define DlLibrary		/**/
  #endif
-@@ -318,7 +422,11 @@
+@@ -318,7 +497,11 @@
  /* NetBSD doesn't have gperf in the base install */
  #define DontRebuildGperfOutput	YES
  
@@ -156,7 +232,7 @@
   * NetBSD doesn't have perl in default system
   * you may override this in host.def if you installed perl from the packages
   */
-@@ -337,7 +445,13 @@
+@@ -337,7 +520,13 @@
  /*
   * Make & install Features
   */
@@ -170,7 +246,7 @@
  #define CompressAllFonts	YES
  #define GzipFontCompression	YES
  #define DefaultUserPath		/bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:$(BINDIR)
-@@ -441,6 +555,8 @@
+@@ -441,6 +630,8 @@
  									@@\
  .EXEC:
  
@@ -179,7 +255,7 @@
  /*
   * Man pages need to be formatted when installed, so override the default
   * imake rules.
-@@ -532,6 +648,8 @@
+@@ -532,6 +723,8 @@
  									@@\
  InstallManPageAliasesBase(file,destdir,aliases)
  

Modified: trunk/debian/patches/900_debian_config.diff
===================================================================
--- trunk/debian/patches/900_debian_config.diff	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/900_debian_config.diff	2004-07-21 07:52:26 UTC (rev 1679)
@@ -1,5 +1,57 @@
 $Id$
 
+Enable various official-Debian-package-specific settings.
+
+This patch by Branden Robinson.
+
+--- xc/config/cf/NetBSD.cf~	2004-07-21 02:08:24.000000000 -0500
++++ xc/config/cf/NetBSD.cf	2004-07-21 02:08:36.000000000 -0500
+@@ -89,13 +89,7 @@
+ # define NormalLibGlu		YES
+ # define FSUseSyslog		YES
+ 
+-/*
+- *
+- *
+ # define DebianMaintainer	YES
+- *
+- *
+- */
+ 
+ # ifdef DebianMaintainer
+ #  ifndef XFree86CustomVersion
+--- xc/config/cf/gnu.cf~	2004-07-21 01:41:03.000000000 -0500
++++ xc/config/cf/gnu.cf	2004-07-21 01:41:50.000000000 -0500
+@@ -60,13 +60,7 @@
+ #define NormalLibGlu		YES
+ #define FSUseSyslog		YES
+ 
+-/*
+- *
+- *
+ #define DebianMaintainer	YES
+- *
+- *
+- */
+ 
+ #ifdef DebianMaintainer
+ # ifndef XFree86CustomVersion
+--- xc/config/cf/gnu-freebsd.cf~	2004-07-21 01:53:20.000000000 -0500
++++ xc/config/cf/gnu-freebsd.cf	2004-07-21 01:53:32.000000000 -0500
+@@ -60,13 +60,7 @@
+ #define NormalLibGlu		YES
+ #define FSUseSyslog		YES
+ 
+-/*
+- *
+- *
+ #define DebianMaintainer	YES
+- *
+- *
+- */
+ 
+ #ifdef DebianMaintainer
+ # ifndef XFree86CustomVersion
 --- xc/config/cf/linux.cf~	2003-09-18 12:11:37.000000000 -0500
 +++ xc/config/cf/linux.cf	2003-09-18 12:11:43.000000000 -0500
 @@ -135,13 +135,7 @@

Deleted: trunk/debian/patches/914_debian_donot_build_fonts
===================================================================
--- trunk/debian/patches/914_debian_donot_build_fonts	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/914_debian_donot_build_fonts	2004-07-21 07:52:26 UTC (rev 1679)
@@ -1,23 +0,0 @@
-diff -Nur xc.orig/Makefile xc/Makefile
---- xc.orig/Makefile	2003-02-27 06:33:58.000000000 +0000
-+++ xc/Makefile	2004-04-27 06:12:39.000000000 +0000
-@@ -63,14 +63,13 @@
- 	@if [ ! -f $(IRULESRC)/host.def ]; then \
- 	    if [ ! -f $(TOP)/lib/Xt/Imakefile ]; then \
- 		echo "#define BuildServersOnly YES" > $(IRULESRC)/host.def; \
--	    else \
--		if [ ! -f $(TOP)/fonts/Imakefile ]; then \
--		    echo "#define BuildFonts NO" > $(IRULESRC)/host.def; \
--		else \
--		    echo "" > $(IRULESRC)/host.def; \
--		fi; \
- 	    fi; \
- 	fi
-+	if [ ! -f $(TOP)/fonts/Imakefile ]; then \
-+	    echo "#define BuildFonts NO" >> $(IRULESRC)/host.def; \
-+	else \
-+	    echo "" >> $(IRULESRC)/host.def; \
-+	fi
- 	@if [ ! -f $(IRULESRC)/version.def ]; then \
- 	    echo "" > $(IRULESRC)/version.def; \
- 	fi

Deleted: trunk/debian/patches/915_debian_donot_build_specs
===================================================================
--- trunk/debian/patches/915_debian_donot_build_specs	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/patches/915_debian_donot_build_specs	2004-07-21 07:52:26 UTC (rev 1679)
@@ -1,26 +0,0 @@
-diff -Naurd xc.orig/Makefile xc/Makefile
---- xc.orig/Makefile	2004-07-12 21:19:21.000000000 +0000
-+++ xc/Makefile	2004-07-12 21:25:14.000000000 +0000
-@@ -70,6 +70,11 @@
- 	else \
- 	    echo "" >> $(IRULESRC)/host.def; \
- 	fi
-+	if [ ! -f $(TOP)/doc/specs/Imakefile ]; then \
-+	    echo "#define BuildSpecsDocs NO" >> $(IRULESRC)/host.def; \
-+	else \
-+	    echo "#define BuildSpecsDocs YES" >> $(IRULESRC)/host.def; \
-+	fi
- 	@if [ ! -f $(IRULESRC)/version.def ]; then \
- 	    echo "" > $(IRULESRC)/version.def; \
- 	fi
-diff -Naurd xc.orig/config/cf/linux.cf xc/config/cf/linux.cf
---- xc.orig/config/cf/linux.cf	2004-07-12 21:19:20.000000000 +0000
-+++ xc/config/cf/linux.cf	2004-07-12 21:25:55.000000000 +0000
-@@ -151,7 +151,6 @@
- #  define InstallFSConfig		YES
- #  define DebuggableLibraries		YES
- #  define ForceNormalLib		YES
--#  define BuildSpecsDocs		YES
- #  define SpecsDocDirs			CTEXT GL ICCCM X11 Xext Xv i18n xterm
- #  define BuildRman			NO
- #  define BuildHtmlManPages		NO

Modified: trunk/debian/rules
===================================================================
--- trunk/debian/rules	2004-07-21 07:26:15 UTC (rev 1678)
+++ trunk/debian/rules	2004-07-21 07:52:26 UTC (rev 1679)
@@ -29,8 +29,6 @@
   include $(SCRIPT_DIR)/dpkg-arch.mk
 endif
 
-# oh my God, this is a gross hack
-ELSE:=else
 M4:=m4
 
 # This is a horrendous kludge to ensure that some scripts we need are executable.
@@ -66,6 +64,9 @@
 
 # Set some Imake variables for the regular and server-debugging builds.
 TIMESTAMP:=$(shell env TZ=UTC date +%Y%m%d%H%M%S)
+# NOTE: IMAKE_DEFINES is used later to control whether the specs docs and fonts
+# are built (they are not built for architecture-dependent-packages-only
+# builds).
 IMAKE_DEFINES:=-DXFree86CustomVersion='\"Debian $(SOURCE_VERSION) $(TIMESTAMP) $(BUILDER)\"'
 # XXX: replace -DDefaultGcc2OptimizeOpt=-O0 with $(DEBUGFLAGS) when the time
 # comes (see above)
@@ -116,10 +117,9 @@
 # over, you would have to remove the stamp manually.  Now, just do
 # 'debian/rules <target> <target> ... FORCE=1', and the stamp files
 # that match the given targets will be removed automagically.
-stampdir_targets=build install binary-arch binary-indep
-stampdir_targets+=source.make patchapply
-stampdir_targets+=source.build source.unpack fix.source.patch source.patch
-stampdir_targets+=unfix.source.patch
+stampdir_targets=genscripts configure patch-audit check-manifest
+stampdir_targets+=build install binary-arch binary-indep
+stampdir_targets+=build-server install-server binary-server
 ifdef FORCE
  DUMMY:=$(shell rm -f $(patsubst %,$(STAMP_DIR)/%,$(filter $(stampdir_targets),$(MAKECMDGOALS))))
 endif
@@ -138,10 +138,10 @@
 	dh_testdir
 	rm -rf $(STAMP_DIR) $(SOURCE_DIR)
 	perl $(SCRIPT_DIR)/dbs_split clean
-	rm -rf imports debian/local/xlibmesa-drm-source/modules debian/build-all
+	rm -rf imports debian/local/xlibmesa-drm-source/modules
 	dh_clean debian/local/xserver-wrapper debian/local/FAQ.gz \
 	         debian/local/xterm.faq.gz debian/shlibs.local \
-		 debian/MANIFEST.$(ARCH) debian/MANIFEST.$(ARCH).new
+	         debian/MANIFEST.$(ARCH) debian/MANIFEST.$(ARCH).new
 
 # All 'important' targets have 2 lines.  The one that is run by
 # dpkg-buildpackage or the user, and the one that does the actual work.  This
@@ -168,10 +168,10 @@
 	done
 	# generate xserver-xfree86-dbg maintainer scripts from the scripts for xserver-xfree86
 	for FILE in debian/xserver-xfree86.config \
-		    debian/xserver-xfree86.postinst \
-		    debian/xserver-xfree86.postrm \
-		    debian/xserver-xfree86.preinst \
-		    debian/xserver-xfree86.prerm; do \
+	            debian/xserver-xfree86.postinst \
+	            debian/xserver-xfree86.postrm \
+	            debian/xserver-xfree86.preinst \
+	            debian/xserver-xfree86.prerm; do \
 	  if [ -e "$$FILE" ]; then \
 	    MAINTSCRIPT=$$(echo $$FILE | sed 's/xserver-xfree86/&-dbg/'); \
 	    sed -e 's/^# Debian xserver-xfree86/&-dbg/' \
@@ -189,8 +189,8 @@
 debian/shlibs.local:
 	cat debian/*.shlibs > $@
 
-configure: $(STAMP_DIR)/stamp-configure
-$(STAMP_DIR)/stamp-configure: $(patched)
+configure: $(STAMP_DIR)/configure
+$(STAMP_DIR)/configure: $(patched)
 	dh_testdir
 
 # I am more anal than the dbs package maintainer about diffs, it seems.
@@ -202,15 +202,17 @@
 	fi
 	touch $@
 
+build:
+	@echo "This target does nothing.  Please specify \"build-arch-only\" or \"build-all\""
+	@echo "instead.  Note that it is also acceptable to use the \"binary-arch\" or"
+	@echo "\"binary-indep\" targets."
+	@echo
+	@echo "If you are using dpkg-buildpackage, you can safely ignore this message."
+
 # DO NOT CHANGE THIS RULE WITHOUT CHECKING FOR SYNCHRONICITY WITH THE build-server RULE BELOW
-real-build: $(STAMP_DIR)/stamp-build
-$(STAMP_DIR)/stamp-build: $(STAMP_DIR)/patch-audit $(STAMP_DIR)/genscripts
+real-build: $(STAMP_DIR)/build
+$(STAMP_DIR)/build: $(STAMP_DIR)/patch-audit $(STAMP_DIR)/genscripts
 	dh_testdir
-	# check if we need to build fonts
-	if [ ! -e debian/build-all ]; then \
-		mv -f $(SOURCE_TREE)/fonts/Imakefile $(SOURCE_TREE)/fonts/Imakefile.removed; \
-		mv -f $(SOURCE_TREE)/doc/specs/Imakefile $(SOURCE_TREE)/doc/specs/Imakefile.removed; \
-	fi
 	# Symlink some of the libraries on which we build-depend into
 	# imports/{lib,include} so we don't have to pull in -L/usr/include and
 	# other, similarly ugly, stuff (including, but not limited to,
@@ -246,35 +248,21 @@
  ifndef NOT_BUILDING_XFREE86_X_SERVER
 	$(MAKE) -C $(SOURCE_TREE)-xserver-xfree86-dbg WORLDOPTS="" IMAKE_DEFINES="$(SERVERDEBUG_IMAKE_DEFINES)" World
  endif
-	if [ ! -e debian/build-all ]; then \
-		cd $(SOURCE_TREE)/fonts/util && \
-		../../config/imake/imake -I../../config/cf && \
-		$(MAKE) IMAKE_DEFINES="$(IMAKE_DEFINES)"; \
-	fi
 else
 	# skipping build rule because test_rules was defined
 endif
 	touch $@
 
-# At present we don't support invoking the build in different ways based on
-# whether or not we'll actually need to ship binary-indep packages.
-#
-# When we do, we'll probably add "-DBuildAllSpecsDocs=NO -DBuildFonts=NO" to
-# $(IMAKE_DEFINES).
+# When creating archiciture-dependent packages only, turn off the building of
+# the specs docs and fonts.  There are also Imake symbols called BuildMiscDocs
+# and InstallHardcopyDocs, but they are not defined by default.
+build-arch-only: IMAKE_DEFINES+= -DBuildSpecsDocs=NO -DBuildFonts=NO
+build-arch-only: real-build
+build-all: real-build
 
-build:
-	# do nothing. build-indep and build-arch will be called by binary-* targets.
-	# Policy allows us to do so.
-
-build-all:
-	touch debian/build-all
-
-build-arch: real-build
-build-indep: build-all real-build
-
 # DO NOT CHANGE THIS RULE WITHOUT CHECKING FOR SYNCHRONICITY WITH THE install-server RULE BELOW
 install: $(STAMP_DIR)/install
-$(STAMP_DIR)/install: $(STAMP_DIR)/stamp-build
+$(STAMP_DIR)/install: $(STAMP_DIR)/build
 	dh_testdir
 	dh_testroot
 ifndef test_rules
@@ -288,24 +276,18 @@
 	  install -m 755 debian/local/update-fonts-$$FOO $(DEBTREEDIR)/usr/sbin; \
 	  install -m 644 debian/local/update-fonts-$$FOO.8 $(DEBTREEDIR)/usr/share/man/man8; \
 	done
-	if [ ! -e debian/build-all ]; then \
-		install -m 755 $(SOURCE_TREE)/fonts/util/ucs2any.pl $(DEBTREEDIR)/usr/X11R6/bin/ucs2any && \
-		install -m 644 $(SOURCE_TREE)/fonts/util/ucs2any._man $(DEBTREEDIR)/usr/X11R6/man/man1/ucs2any.1x && \
-		install -m 755 $(SOURCE_TREE)/fonts/util/bdftruncate.pl $(DEBTREEDIR)/usr/X11R6/bin/bdftruncate && \
-		install -m 644 $(SOURCE_TREE)/fonts/util/bdftruncate._man $(DEBTREEDIR)/usr/X11R6/man/man1/bdftruncate.1x; \
-	fi
  ifdef NOT_BUILDING_XFREE86_X_SERVER
 	# these files need to be installed with the upstream Imakefiles
 	install -m 644 $(SOURCE_TREE)/programs/Xserver/hw/xfree86/doc/README \
-		       $(SOURCE_TREE)/programs/Xserver/hw/xfree86/doc/README.fonts \
-		       debian/tmp/usr/X11R6/lib/X11/doc
+	               $(SOURCE_TREE)/programs/Xserver/hw/xfree86/doc/README.fonts \
+	               debian/tmp/usr/X11R6/lib/X11/doc
  else
 	# rename the XF86Config manpage to XF86Config-4
 	mv $(DEBTREEDIR)/usr/X11R6/man/man5/XF86Config.5x \
 	   $(DEBTREEDIR)/usr/X11R6/man/man5/XF86Config-4.5x
 	# copy the static, debuggable XFree86 server
 	install -m 755 $(SOURCE_TREE)-xserver-xfree86-dbg/programs/Xserver/XFree86 \
-		       debian/tmp/usr/X11R6/bin/XFree86-debug
+	               debian/tmp/usr/X11R6/bin/XFree86-debug
 	mkdir -p $(DEBTREEDIR)/etc/X11/cursors
 	install -m 644 debian/local/cursors/*.theme $(DEBTREEDIR)/etc/X11/cursors
  endif
@@ -346,16 +328,24 @@
 	install -m 644 debian/local/xfs.options.5 $(DEBTREEDIR)/usr/share/man/man5
 	install -m 755 debian/local/xvfb-run $(DEBTREEDIR)/usr/bin
 	install -m 644 debian/local/xvfb-run.1 $(DEBTREEDIR)/usr/share/man/man1
+else
+	# skipping install rule because test_rules was defined
+endif
+	touch $@
+
+check-manifest: $(STAMP_DIR)/check-manifest
+$(STAMP_DIR)/check-manifest: $(STAMP_DIR)/install
 	# compare manifests
-	(cd debian/tmp && find -type f | LC_ALL=C sort | cut -c3-) > debian/MANIFEST.$(ARCH).new
-	# create proper MANIFEST from our well known sources
-	if [ ! -e debian/build-all ]; then \
-	  sort -u debian/MANIFEST.$(ARCH).in > debian/MANIFEST.$(ARCH); \
-	$(ELSE) \
+	(cd debian/tmp && find -type f | LC_ALL=C sort | cut -c3-) >debian/MANIFEST.$(ARCH).new
+	# Construct MANIFEST files from MANIFEST.$(ARCH).in and
+	# MANIFEST.$(ARCH).all or MANIFEST.all.
+	if expr "$(findstring -DBuildFonts=NO,$(IMAKE_DEFINES))" : "-DBuildFonts=NO" >/dev/null 2>&1; then \
+	  sort -u debian/MANIFEST.$(ARCH).in >debian/MANIFEST.$(ARCH); \
+	else \
 	  if [ -e debian/MANIFEST.$(ARCH).all ]; then \
-	    sort -u debian/MANIFEST.$(ARCH).in debian/MANIFEST.$(ARCH).all > debian/MANIFEST.$(ARCH); \
-	  $(ELSE) \
-	    sort -u debian/MANIFEST.$(ARCH).in debian/MANIFEST.all > debian/MANIFEST.$(ARCH); \
+	    sort -u debian/MANIFEST.$(ARCH).in debian/MANIFEST.$(ARCH).all >debian/MANIFEST.$(ARCH); \
+	  else \
+	    sort -u debian/MANIFEST.$(ARCH).in debian/MANIFEST.all >debian/MANIFEST.$(ARCH); \
 	  fi; \
 	fi
 	# confirm that the installed file list has not changed
@@ -368,7 +358,7 @@
 	           echo 'MANIFEST check failed; ignoring problem because \$$IGNORE_MANIFEST_CHANGES set' >&2; \
 	           echo 'Please ensure that the package maintainer has an up-to-date version of the' >&2; \
 	           echo 'MANIFEST.$(ARCH) file.' >&2; \
-	         $(ELSE) \
+	         else \
 	           echo 'MANIFEST check failed; please see debian/README' >&2; \
 	           exit 1; \
 	         fi; \
@@ -378,15 +368,17 @@
 	         ;; \
 	    esac; \
 	  fi; \
-	fi;
-else
-	# skipping install rule because test_rules was defined
-endif
+	fi
 	touch $@
 
-binary-indep: $(STAMP_DIR)/binary-indep
+# See the build-arch-only target above.
+check-manifest-arch: IMAKE_DEFINES+= -DBuildSpecsDocs=NO -DBuildFonts=NO
+check-manifest-arch: check-manifest
+check-manifest-indep: check-manifest
+
+binary-indep: check-manifest-indep $(STAMP_DIR)/binary-indep
 $(STAMP_DIR)/binary-indep: DH_OPTIONS=-i
-$(STAMP_DIR)/binary-indep: build-indep $(STAMP_DIR)/install
+$(STAMP_DIR)/binary-indep: $(STAMP_DIR)/build $(STAMP_DIR)/install $(STAMP_DIR)/check-manifest
 	dh_testdir
 	dh_testroot
 	dh_install --sourcedir=debian/tmp
@@ -416,9 +408,11 @@
 	touch $@
 
 # DO NOT CHANGE THIS RULE WITHOUT CHECKING FOR SYNCHRONICITY WITH THE binary-server RULE BELOW
-binary-arch: $(STAMP_DIR)/binary-arch
+# See the build-arch-only target above.
+binary-arch: check-manifest-arch $(STAMP_DIR)/binary-arch
 $(STAMP_DIR)/binary-arch: DH_OPTIONS=-s
-$(STAMP_DIR)/binary-arch: build-arch $(STAMP_DIR)/install debian/shlibs.local
+$(STAMP_DIR)/binary-arch: IMAKE_DEFINES+= -DBuildSpecsDocs=NO -DBuildFonts=NO
+$(STAMP_DIR)/binary-arch: $(STAMP_DIR)/build $(STAMP_DIR)/install debian/shlibs.local $(STAMP_DIR)/check-manifest
 	dh_testdir
 	dh_testroot
 	dh_install --sourcedir=debian/tmp
@@ -555,7 +549,7 @@
 	$(MAKE) -C $(SOURCE_TREE) SHELL="/bin/sh -e" DESTDIR=$(DEBTREEDIR) install install.man
 	# copy the static, debuggable XFree86 server
 	install -m 755 $(SOURCE_TREE)-xserver-xfree86-dbg/programs/Xserver/XFree86 \
-		       debian/tmp/usr/X11R6/bin/XFree86-debug
+	               debian/tmp/usr/X11R6/bin/XFree86-debug
 else
 	# skipping install rule because test_rules was defined
 endif
@@ -598,9 +592,14 @@
 	dh_builddeb
 	touch $@
 
-.PHONY: build build-arch build-install install clean binary-arch binary-indep binary
-.PHONY: default environment
+.PHONY: default
+.PHONY: genscripts cleanscripts
+.PHONY: patch-audit
+.PHONY: clean configure install
+.PHONY: build build-arch-only build-all real-build
+.PHONY: binary binary-arch binary-indep
+.PHONY: check-manifest check-manifest-arch check-manifest-indep
+.PHONY: environment
 .PHONY: build-server install-server binary-server
-.PHONY: cleanscripts patch-audit
 
 # vim:set noet ai sts=8 sw=8 tw=0:



Reply to: