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

From: Carl Eastlund (carl.eastlund at gmail.com)
Date: Tue May 5 09:20:23 EDT 2009

On Fri, May 1, 2009 at 8:36 PM, Eli Barzilay <eli at barzilay.org> wrote:
>> 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.
> That was my initial thought.  Something that would first introduce a
> build then talk about the details.  But I couldn't come to a
> conclusion of how to actually write this in a short time.

I have checked in a revision to the README file (actually 3, but the
first 2 are just fixes to pre-existing typos).  I have updated your
Quick Instructions to describe the "build" directory convention and
what the result of the "quick install" is.  I have added a step 1 for
choosing a build directory, adapting the discussion from the old step
1, and changed the old steps 1,2,3 to 2,3,4.  Here are the changed
portions of the text (the quick instructions, the new step 1, and the
beginning of step 2 [old step 1]):


Quick instructions:

 From this directory (where the `README' and `configure' files are),
 run the following commands:

   mkdir build
   cd build
   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

Posted on the dev mailing list.