Re: [PATCH] Have to configure and build inside the source directory.

Subject: Re: [PATCH] Have to configure and build inside the source directory.

Date: Wed, 09 Mar 2011 15:19:53 -0800

To: Rob Browning

Cc: notmuch@notmuchmail.org, Thomas Schwinge

From: Carl Worth


On Fri, 28 Jan 2011 17:18:16 -0600, Rob Browning <rlb@defaultvalue.org> wrote:
> I think the use of GNU make VPATH is fairly common.  For example, I
> believe the autotools build a tree that matches the srcdir structure and
> add Makefiles that contain something like this:
> 
>   VPATH = ../../wherever/notmuch/thisdir
>   ...
> 
> Of course, given that, the build tree doesn't include any source
> files.

Thanks for the pointer to VPATH. I had some code half-written to use
this sitting around since we last talked about it, and I've just cleaned
it up and pushed it out now.

It turns out that VPATH itself isn't very useful, (since it matches on
targets as well as prerequisites), but the similar "vpath" directive
matches only on prerequisites so it does what we want here.

So non-source-directory builds of notmuch should work now. Along the
lines of:

	git clone git.notmuchmail.org:/git/notmuch
        cd notmuch      
	mkdir build
        cd build
        ../configure
        make

Everyone, please feel free to test this and report back if you see any
problems.

We should also fix the "make release" target to exercise this code. Does
anyone know what else a GNU configure script typically does in "make
distcheck". I recall that it untars the built tar file and does a
non-srcdir build of it, (and runs the test suite). Then I think it also
does an install and perhaps checks that no extra files are leftover
after "make clean"? Something like that anyway---and we should probably
do something similar.

-Carl

-- 
carl.d.worth@intel.com
part-000.sig (application/pgp-signature)

Thread: