<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Fri, 2011-02-25 at 08:59 -0800, Keith Packard wrote:<BR>
<BLOCKQUOTE TYPE=CITE>
    <TT><FONT COLOR="#1a1a1a">So, I'm a bit confused here -- I do 'make distcheck' to build releases,</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">and it works for me. I'd like to know how I can test this patch to make</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">sure it does what you expect.</FONT></TT><BR>
    <BR>
</BLOCKQUOTE>
The failing scenario involves builds where srcdir != builddir. Automake calls this a<BR>
VPATH build.<BR>
<A HREF="http://www.gnu.org/software/automake/manual/automake.html#VPATH-Builds">http://www.gnu.org/software/automake/manual/automake.html#VPATH-Builds</A><BR>
<BR>
This type of build addresses a requirement where multiple binaries can be<BR>
generated from a single source tree by modulating the configuration.<BR>
For example a build with dri and without dri.<BR>
<BR>
The distcheck target uses a VPATH build to build and install the package.<BR>
It can find errors that are not found during a regular build because it<BR>
builds from &quot;a virtual tarball from makefile&quot; rather than the source<BR>
on disk. A classic error is new header file that was not added in the makefile.<BR>
<BR>
A developer, or most likely a distro, can use a VPATH setup to build.<BR>
They can also run distcheck from this VPATH build. This is the failing<BR>
scenario as I understand it.<BR>
<BR>
The test case is to build xserver from a VPATH build and then run distcheck.<BR>
<BR>
A VPATH build can be created this way:
<BLOCKQUOTE>
<PRE>
xserver$ make distclean
xserver$ mkdir build &amp;&amp; cd build
xserver/build$ ../configure --prefix whatever # note the ../
xserver/build$ make distcheck
</PRE>
</BLOCKQUOTE>
<BR>
You need to run distclean from your source tree to clean the current<BR>
configuration. Create a build directory where binaries will be generated.<BR>
Run the &quot;configure&quot; script located in the source tree from the build tree.<BR>
No need to autogen, we are not re-creating the configuration.<BR>
<BR>
Just like for a source tree, you don't need to &quot;make&quot; the build directory,<BR>
just run distcheck. You have a set of tarballs in the build dir, not srcdir.<BR>
<BR>
You can run distclean from the build dir, go back to the srcdir and<BR>
configure it, and resume using it.<BR>
<BR>
<BR>
<BR>
</BODY>
</HTML>