
Rene Rivera wrote:
Edward Diener wrote:
First off... This documentation is being worked on. Thankfully not by me, as I make a bad documenter in this case since I wrote the install support.
The general install instructions are very good. It is just this area of explaining where everything goes that I find poor, as if it does not matter to the end-user. It does matter since the end-user may well need to know where the build of Boost for a particular compiler ends up putting files.
The documentation for building Boost states that one can use 'install', 'stage', or nothing on the bjam command line. But it does not explain the difference between these options other than:
"none Only builds the Boost libraries. This lets you do the first part of what the install action normally does without copying the built libraries to the install location.
install Builds and installs Boost libraries and headers.
stage Builds the Boost libraries and copies them into a common directory."
This tells me almost nothing. In the 'none' explanation, what does "copying the built libraries to the install location" mean when the install location is never specified ?
It's the standard, by autoconf POV, definition, and is the location specified by "--prefix=*" option.
With all due respect to the Unix/Linux autoconf, I do not know how it works and I would conjecture that many programmers, especially Windows and Mac programmers, have no idea what it is. I do not specify a "--prefix=" on the command line. What is the default, and should not this be specified in the doc ?
In the 'install' explanation, what does "installs Boost libraries and headers" mean and why do headers need to be installed ?
It mean it will copy the built libraries, and all the headers for all the Boost libraries. Especially important as most of the Boost libraries are header only.
Are you saying that it will copy all the headers for the libraries which are
built ? To where does it copy the headers, and to where does it copy the
libraries being built when 'install' is specified ?
Why would it copy the headers since the normal way to use Boost headers, whether
for a library being built or for a library which is completely header-based, is
to specify #include
In the 'stage' explanation, what is the "common directory" to which Boost libraries are copied ?
It's the directory specified by "--stagedir=*" option, which defaults to "./stage". I.e. a "stage" directory where you unpacked the Boost sources.
Does this mean that each product gets its own "./stage" subdirectory or they all get a common one ? This I begin to understand but this information should be specified in the doc, and it should be specified what the default --stagedir is also at the same time.
In general where exactly are resulting libraries put for each of these options and are header files moved anywhere also ?
See above :-)
See my further comments and questions.