Boost logo

Boost :

From: Noel Yap (yap_noel_at_[hidden])
Date: 2002-05-02 11:33:47


--- David Abrahams <david.abrahams_at_[hidden]> wrote:
>
> ----- Original Message -----
> From: "Noel Yap" <yap_noel_at_[hidden]>
>
> > > > In any case, all of boost is now dependent on
> > > Python
> > > > since at least one part of it depends on
> Python.
> > >
> > > That's just false.
> >
> > Why do you say that?
>
> Because lots of people successfully use parts of
> boost without using
> other parts.

If any of them are using proper CM processes, then
they won't be able to use any release that doesn't
build on their system. Do you think it would be
easier to get small parts that would build on a
particular system than one big product that would
(especially considering the push-to-the-limits
behaviour of Boost components)?

> > If Boost depends on
> > Boost.Python, and Boost.Python depends on Python,
> then
> > Boost depends on Python (ie dependency is
> transitive).
> > Would you agree that dependency is transitive?
>
> Yes, dependency is transitive, but your premise is
> false: Boost does not
> depend on Python.

Am I mistaken that Boost.Python depends on Python or
that Boost depends on Boost.Python?

> > > You don't need a separate distribution to get
> that.
> > > The current CVS
> > > state skips building the Python library if
> Python
> > > isn't installed or
> > > configured.
> >
> > But why download it at all?
>
> Why download what? Boost? I presume because you want
> to use it. Python?
> You only need that if you want to use Boost.Python.

Why download Boost.Python at all if you don't need or
want it?

> > Why complicate the entire Boost build due to a
> > dependence of only one of its components?
>
> Why make assumptions about which things cause
> complications for the
> build?

There is a difference between complications and making
something more complicated.

> > Will this
> > scale if more components have more dependencies?
> Will
> > it scale as well as if each library took care of
> their
> > own dependencies?
>
> It's hard to answer these vague hypothetical
> questions, especially if
> you don't define what it means to "take care of
> their own dependencies"

If each product documented their own dependencies in a
user-friendly way (eg not by publicizing header file
dependencies but rather through proper documentation)
and checked whether their dependencies existed, the
entire Boost project would be more scalable since
there wouldn't be a bottleneck in one conglomerate
build process.

Technically, I shouldn't be talking about separate
builds, but rather about separate installs. However,
since the typical thing to do is
download-build-install a package, the build and
install are inter-related. IOW, to address my CM
concerns (which noone as of yet has addressed), what I
really need to be able to do is download-build-install
correctly each package so as to better control
upgrades to each package and perform proper testing of
those products that use only the Boost packages that
have been upgraded.

Since Boost is upgraded in one shot, I have no
alternative but to test anything that uses any part
(no matter how small) of Boost. I also have no
alternative but not to bless any Boost release that
doesn't completely build correctly (ie emits no errors
during build).

Noel

__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com


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