Boost logo

Boost :

From: John (EBo) David (ebo_at_[hidden])
Date: 2000-12-15 09:59:39


I have been busy and had to drop out of the discussion for a while...
Here is a point or two that has of yet been raised (or I missed it and
offer apologies)...

If we break up the library such that:



boost-1.19.0/libnane1/src/libname1.hpp
boost-1.19.0/libnane1/src/libname1.cpp
boost-1.19.0/libnane1/doc
...

boost-1.19.0/libnane2/src/libname2.hpp
boost-1.19.0/libnane2/src/libname2.cpp
boost-1.19.0/libnane2/doc
...
Now if libname2 uses something in libname1 then we can include it with
the standard -I.../boost-1.19.0

but the code will look like:

#include <libname1.hpp>

During an earlier discussion, it was (I thought) decided that putting
the all the boost include files in a directory directory tree was
desireable so to manage possible name collisions. This allows us to
use:

#include <boost/libname1.hpp>

Ok. we *could* have the above directory structure and just install it
first, and then use it right? Well...

Now here is where it starts to get a little subtle. If we break the
library up into boost-1.19.0/libnane2/src/... and use an boost directory
to hold the installed include files such that we can use #include
<boost/libname1.hpp> in our code. We would probably find that libnane2
depends on libnane1 being built AND installed before it can find it.
Worse yet, I can see building things piecewise and forgetting to install
the new version of libname1 and building the new libname2 against the
older one without knowing it.

Now, by placing all the headers in boost-1.19.0/boost/libname1.hpp to
begin with I am basically guarnteed to be able to find the right include
files by having them in one place.

Now for installation. When installing we could set it up to install
sellected components or the whole thing at a time. ex:

  make install-libname1
  make install-libname2

     or

  make install-all

just my $0.03

EBo --


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk