Boost logo

Boost :

From: Jeff Garland (jeff_at_[hidden])
Date: 2000-07-22 14:47:47


As it turns out, I have been researching this issue recently for a C++
project I am working on (some related research for a smart pointer
implementation led me to run across Boost and start paying attention to what
you' all are up to :-). Anyway, one of the key goals for the project is
cross-platform (NT and various Unix/Linux flavors) and cross-compiler
(probably g++ and vcc) compatibility. Of course, we also want a fully
automated build and test system so that we can rapidly detect and fix any
changes which create porting issues. Unfortunately, none of this is really
easy or "lightweight".

So far, it looks like the best answer incorporates 2 "tools". For the build
part, use IMake to simplify makefile creation and factor out vendor and
platform specific configurations. In a nutshell, Imake uses macros and
template files to allow you to write one file (the IMakefile) and generate
Makefiles for all the variations. You can find info on Imake at
http://www.primate.wisc.edu/software/imake-stuff/. I have used Imake on a
rather large C++ project (more than 200 people), and it worked quite nicely
once it was set up. The other main alternative I have seen is to just
maintain by hand Makefiles for every platform / compiler. This is what seems
to have been done on ACE, and I hear it makes it really difficult to add
files, remove files, reorganize directories, etc.

The other part of the equation is to automate testing using CppUnit from
http://www.xprogramming.com/. CPPUnit is derived from work done by Kent
Beck on testing frameworks which spawned. Of course CPPUnit is already
fractured along compiler and platform lines as you can see from the download
page. However, if you dump the GUI, the framework is trivial to port.
Anyway, the idea is that a single command can test everything and report the
results in the form of pass/fail statistics and diagnostic pointers for any
failures. Again, as an example, while ACE doesn't use CppUnit, it does have
a consistently written set of tests which allow rapid validation.

Jeff

jeff_at_[hidden]
  -----Original Message-----
  From: David Abrahams [mailto:abrahams_at_[hidden]]
  Sent: Friday, July 21, 2000 6:44 AM
  To: boost_at_[hidden]
  Subject: [boost] build system?

  Who has a proper build setup for running tests on boost with various
  compiler/stdlib combinations? I have been piggybacking off of a
gargantuan,
  disgusting make system we use for a project at work, but that's getting to
  be much less practical as I try to push forward into more experimental
  territory. We need a solution for this! Suggestions?

  -Dave

----------------------------------------------------------------------------

--
----------------------------------------------------------------------------
--



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