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

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue May 5 10:20:14 EDT 2009

On May 5, 2009, at 9:20 AM, Carl Eastlund wrote:

> Quick instructions:
>  From this directory (where the `README' and `configure' files are),
>  run the following commands:
>    mkdir build

When you automate this (as I have done in some script), you may wish  
to do something like this:

TARGET="build:`date | sed -e"s/ /_/g"`"
mkdir "$TARGET"

or whatever trick you know to make a unique directory.

-- Matthias

>    cd build
>    ../configure
>    make
>    make install
>  This will create an in-place installation of PLT Scheme and store the
>  results of C/C++ compilation in a separate `build' subdirectory,
>  which is useful if you need to update your sources, delete the build,
>  and start from scratch.
>  You can also run the typical `./configure && make && make install' if
>  you don't anticipate updating/rebuilding, but it will be harder to
>  restart from scratch should you need to.
> --------------------
>  1. Select (or create) a build directory.
>     It's better to run the build in a directory other than the one
>     containing `configure', especially if you're getting sources via
>     Subversion.  A common way to start a Subversion-based build is:
>         cd [here]
>         mkdir build
>         cd build
>     where "[here]" is the directory containing this `README' file and
>     the `configure' script.  The Subversion repository is configured
>     to support this convention by ignoring `build' in this directory.
>     A separate build directory is better in case the Makefile
>     organization changes, or in case the Makefiles lack some
>     dependencies. In those cases, when using a "build" subdirectory,
>     you can just delete and re-create "build" without mangling your
>     source tree.
>  2. From your build directory, run the script `configure' (which is in
>     the same directory as this README), with optional command-line
>     arguments --prefix=TARGETDIR or --enable-shared (or both).
>     For example, if you want to install into /usr/local/plt using
>     dynamic libraries, then run:
>         [here]configure --prefix=/usr/local/plt --enable-shared
>     Again, "[here]" is the directory path containing the `configure'
>     script.  If you follow the convention of running from a "build"
>     subdirectory, "[here]" is just "../".  If you build from the
>     current directory, "[here]" is possibly unnecessary, or possibly
>     just "./", depending on your shell and PATH setting.
> --------------------
> After that it resumes with discussion of the --prefix flag, and
> continues as before except for step re-numbering.
> -- 
> Carl Eastlund
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-dev

Posted on the dev mailing list.