Boost logo

Boost :

From: Ronald Garcia (rgarcia4_at_[hidden])
Date: 2001-03-15 14:29:34


    kv> There is a free tool called autoconf to assist one in the
    kv> creation of such scripts. This stuff can run on Windows as
    kv> well, if you have the Cygwin tools installed.

Just wanted to go on the record about configuration issues. To state
my biases ahead, I develop primarily under Unices (Solaris and linux),
so I'm used to installing/developing applications that use the gnu
autotools (autoconf/automake/libtool). I have done a bit of toying
with Macintosh CodeWarrior, but my own lack of knowledge regarding
automating builds on Mac quickly discouraged me (my current assumption
is that I'll be able to use Unix tools once MacOS X comes out).

One of my strongest opinions about builds is that gnu autotools
(autoconf/automake/libtool) are NOT a solution. On this list and
other places, I frequently hear the pearl "well, with cygwin you can
use autoconf under windows." In some circles, this is the right
solution for configuration and build. I don't believe that Boost is
such a circle. My reasoning is that the scope of boost greatly
exceeds that group of C++ developers who are likely to tolerate
dependence upon Unix tools in a non-unix environment. I feel that
boost is attempting to target the greater C++ community, regardless of
operating environment, and such a bias would be poor judgement on our
part.

I have to admit that I'm skeptical about the development of a good
cross-platform build system, but at the same time I would greatly
appreciate it if someone would prove me wrong (I feel this way not
because I think it's impossible in the literal sense, but I doubt the
commitment to the HARD work involved in developing and subsequently
maintaining such a system).

Until such a system is made available, I think that a reasonable
solution would be to have package maintainers for different
architectures. I've at least seen discussion here regarding the
development of RPM's for linux, and with the current Boost release we
have parallel .tar.gz and .zip releases.

I suppose it should be mentioned that most developers are less than
thrilled about dealing with build issues. There was a thread a while
back in which several boost members were discussing build issues:

http://groups.yahoo.com/group/boost/message/7532
(at least in the context of directory structure)

Install issues, even for a mostly-header library collection like
boost, are not trivial when the target is a multi-user environment
(ie. not in a single user's personal space).

For this reason I would like to propose the idea of having build
managers for various architectures. At this point, if it only meant
having someone other than Beman building .tar.gz's (assuming he trusts
someone else to do it :) ), it would be a start. Then perhaps a
packaging of boost for unix using gnu autotools could be kept separate
from a windows installer system and a generic archive file.

To throw out the possibility, a step beyond separate package
maintainers would be developing a general information repository
format from which different builds could be generated for different
platforms. By this, I'm not considering a general build system, but
rather a system for building boost packages for various platforms.
Granted this would be a specific solution, but I think it would be
more feasible than developing a truly general solution.

ron


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