[plt-dev] in-place build directory (was re: build error with svn 14677)
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