[plt-dev] in-place build directory (was re: build error with svn 14677)

From: Carl Eastlund (carl.eastlund at gmail.com)
Date: Fri May 1 20:29:24 EDT 2009

On Fri, May 1, 2009 at 8:20 PM, Eli Barzilay <eli at barzilay.org> wrote:
> On May  1, John Clements wrote:
>> On May 1, 2009, at 5:01 PM, Eli Barzilay wrote:
>> > The problem with this, so that it's now turned around:
>> >
>> > 1. Select (or create) a build directory.  It is better to run the
>> >    build in a different directory rather than use this directory.
>> >
>> > This reads like a specific instruction to create a build
>> > directory.  It's an option that is very useful for people who will
>> > hold the directory for a long time, but these people are still a
>> > minority.  Most people will compile from source once, or will
>> > compile from source once after every release.
>> So what? Does it matter if everyone creates a build directory?
> It only matters in being more complicated than it could be.  You only
> need a brief look at Matthew's version of the file to know that
>  ./configure; make; make install
> should work as expected, and I think that it is desirable to keep this
> property.  (But just to clarify, the README file is something that
> Matthew writes and maintains, so I don't want to commit a change that
> I'm not willing to defend personally.)

I agree that it's nice to have the normal Unix-style build strategy of
"./configure && make && make install" as a default, but in our system
it's not a very good default.  We should present a default that is
robust in the face of updating the source and rebuilding.  Now, if we
want to change our configure/make scripts to make this possible, that
would be nice.  In the meantime, I prefer "mkdir build && cd build &&
../configure && make && make install" to the more familiar but less
practical version.

In fact, I should really write a "quick-start" introduction with that
line -- there's no particular reason people just "trying out" the
build should have to scroll through several pages to figure out five
default commands.

Carl Eastlund

Posted on the dev mailing list.