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

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Fri May 1 17:26:35 EDT 2009

It's already there:

 The `configure' script generates the makefiles for building
    MzScheme and/or MrEd. The current directory at the time
    `configure' is run will be used as working space for building the
    executables (independent of --prefix). This build directory does
    not have to be in the source tree, even for an "in-place"
    build. It's ok to run `configure' from its own directory (as in
    the example above), but it's often better to pick a separate build
    directory that is otherwise empty.

Jay

On Fri, May 1, 2009 at 3:17 PM, Carl Eastlund <carl.eastlund at gmail.com> wrote:
> Can we please add this advice to the src/README file?  There are so
> many esoteric options explained in there, but the one thing that
> doesn't show up is our convention of creating the src/build/ directory
> for in-place builds.  New developers shouldn't have to learn this
> practice by word-of-mouth.
>
> This is important enough -- and the README file detailed enough --
> that we may even want a step between the current 0 (remove old PLT
> installation) and 1 (run configure) for creating/choosing a build
> directory, including a default suggestion of src/build/ and followed
> up by some of the discussion currently under configure.  Otherwise
> users trying for a "quick-start in-place build" may miss the
> discussion currently buried at the end of the "configure" section.
>
> --Carl
>
> ---------- Forwarded message ----------
> From: Eli Barzilay <eli at barzilay.org>
> Date: Fri, May 1, 2009 at 5:07 PM
> Subject: Re: [plt-scheme] build error with svn 14677
> To: Robby Findler <robby at eecs.northwestern.edu>
> Cc: Doug Orleans <dougorleans at gmail.com>, plt-scheme at list.cs.brown.edu
>
>
> On May  1, Robby Findler wrote:
>> The svn tree is the latest, but the Makefiles are not guaranteed to
>> always get the right dependencies. They usually work, but if you see
>> problems, best thing is to just blow away the build directory and
>> try again. (And if you see a configure script change or a
>> Makefile.in changes, then probably best to not even try.)
>
> Right.  To make it *much* better, you should never build the source
> tree in place -- that is, don't do this:
>
>  cd .../plt/src
>  ./configure
>  make
>  make install
>
> Do this instead:
>
>  cd .../plt/src
>  mkdir build
>  cd build
>  ../configure
>  make
>  make install
>
> This point is not specific to PLT -- it's generally healthier to do
> this for any autoconf-based build.
>
> --
>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>                  http://www.barzilay.org/                 Maze is Life!
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-dev
>



-- 
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://teammccarthy.org/jay

"The glory of God is Intelligence" - D&C 93


Posted on the dev mailing list.