[plt-dev] in-place build directory (was re: build error with svn 14677)
On Fri, May 1, 2009 at 7:06 PM, Eli Barzilay <eli at barzilay.org> wrote:
> On May 1, Carl Eastlund wrote:
>> That doesn't suggest creating a directory called "build" directly
>> under the "src" directory,
>
> IMO, the only reason to suggest a "build" subdirectory -- the
> `svn:ignore' property -- is well below the threshold of what should be
> described in the src/README file.
Sure, if you want to suggest making some other directory, or leave the
choice of name up to the user, that's fine. But it would still make a
big difference to have "step 0.5: mkdir foo" preceding "step 1: run
configure", rather than some paragraph following step 1 that describes
the pros and cons of various choices of directories. The "svn:ignore"
property is merely a good argument in favor of suggesting build/ over
foo/ in step 0.5.
When I introduce new people to building PLT from source, as I've done
several times, I have to say "go follow the instructions... oh and
before you do that, create the trunk/src/build directory, and build
from there, so you'll have to prefix configure with ../ as well." I'd
rather be able to just say "go follow the instructions".
I've made a set of possible changes. Here is the text of the 'mkdir'
and 'configure' steps (up to the example commands); I've attached a
full README file as well as a diff that makes these changes and
updates later references to step numbers.
--------------------
1. Select (or create) a build directory. It is better to run the
build in a different directory rather than use this directory.
A common choice for in-place builds is to create the [here]/build
subdirectory (where "[here]" is the directory path containing the
`configure' script). This is especially convenient if you plan to
update your source tree from the plt repository. Such updates
might involve changes in the structure, which will leave your
source tree in an inconsistent state (eg, old Makefiles referring
to nonexistent files). In such cases it is convenient to just
remove the "build" directory, then re-create it and start a fresh
build.
2. Run the script `configure' (which is in the same directory as this
README) from your build directory, possibly with a
--prefix=TARGETDIR command-line argument and optionally with
--enable-shared.
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 (possibly unnecessary, or possibly just "./", depending on
your shell and PATH setting). To use a different directory for
the build, such as the [here]/build suggestion from above:
cd [here]
mkdir build
cd build
../configure --prefix=/usr/local/plt --enable-shared
--------------------
--
Carl Eastlund
-------------- next part --------------
A non-text attachment was scrubbed...
Name: README
Type: application/octet-stream
Size: 17811 bytes
Desc: not available
URL: <http://lists.racket-lang.org/dev/archive/attachments/20090501/9947849b/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: README.diff
Type: application/octet-stream
Size: 4050 bytes
Desc: not available
URL: <http://lists.racket-lang.org/dev/archive/attachments/20090501/9947849b/attachment-0001.obj>