From: Daryle Walker (darylew_at_[hidden])
Date: 2000-11-08 13:27:17
I had an epiphany after reading this: mandatory *.cpp files must be in a
directory completely separate from the doc/example/test hierarchy. This
would be similar to the mandatory *.hpp files having a separate directory.
The reason: as long as the mandatory *.cpp files are mixed with support
files, there is always the chance that the compiler could accidentally grab
a nonessential file in its search algorithm.
This new suggestion would mean that an user would just have to put the two
mandatory Boost directories in the search path. Other suggestions would
mean that the user would have to individually specify each sub-library's
"src" directory, or include the whole "lib" hierarchy (like now) and risk
example or test code being grabbed. The current system also means that all
contributors have to ensure filenames are unique across "lib." Messing this
up is kind-of bad if the identically named files are all example or test
code; but it's game-over if at least one of these files is mandatory.
So the structure could be:
boost/ + still holds mandatory *.hpp files
c++boost.gif + still a logo picture
index.htm + still the first doc file
libraries.htm + still the main doc file
libs/ + holds only docs and non-mandatory source code
more/ + still holds extra doc files
people/ + still has member profiles
people.htm + still the intro for member profiles
README + still a simple introduction file
src/ + holds the mandatory *.cpp files
The sub-directory structure of "src/" can mirror that of "boost/."
on 11/6/00 11:05 AM, Beman Dawes at beman_at_[hidden] wrote:
> At 09:24 PM 11/4/2000 -0500, Daryle Walker wrote:
>> Right now, we have the "lib" directory hold a particular library's
>> documentation, essential source code, and example/test source code. Maybe we
>> should separate some of this stuff to other directories. The essential
>> source code could stay in "lib" and the documentation could move to a "doc"
>> directory. Example and/or test code could be grouped with the docs or go in
>> another directory. We would have to change any links in the documentation to
>> compensate for any new directories. This was talked about approximately a
>> month ago; any progress?
> No. Sigh.
> I guess we need a policy something like this (to allow for both simple and
> complex libraries):
> * All libraries have at their highest level a primary directory named for
> the particular library. The primary directory may have sub-directories.
> * For very simple libraries implemented entirely within the library header,
> all files go in the primary directory (except headers, which go in the
> boost header directory).
> * Libraries which are not implemented entirely within the header should
> have a sub-directory named "src" which contains the files which must be
> compiled to build the library.
> * Libraries with more than one or two documentation files should have a
> "docs" sub-directory containing those files.
> * Libraries with more that one or two test programs should have a "tests"
> sub-directory containing those files.
> * Libraries with more that one or two example programs should have a
> "examples" sub-directory containing those files.
> * Libraries with more than one or two of any other kind of file should
> place those files in an appropriately named sub-directory.
-- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT mac DOT com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk