I've done a conversion from FTJam to Boost.Build in a private Mercurial 
branch.

Would anyone be interested in picking up on this?

Wins now:
 * No more running ./bootstrap every time XORP's software configuration 
(as in SCM) is changed.
  * Eliminates the need for Automake.
  * configure however is still supported for now.
 * No more generating .deps, Jam-based build tools do their own header 
scanning.
 * Sticky dependencies. Libraries are only part of linkage if XORP 
components specificially require them.
  * For example, FeaIfMgrMirror and friends are now only linked when 
libfeaclient is a dependency.

 * Full dependency checking on XIF and TGT targets with suffix rules 
used to build them.
  I wrote Boost.Build extensions to support this.
  * As a result the .tgt and .xif files may be located outside of 
xrl/interfaces for contributed code.

This should make code sharing much easier to implement, as well as 
giving us opportunities, at SCM level, for fine grained control over 
what code actually gets built and linked on each target platform.

Wins later:
 * Size.
 * Shared libraries
 * Portability should get easier.
 * Cross-compilation should get easier.

Further work needed:
 * Tests need to be ported over fully to Boost.Build's unit testing suite.
   Jam's disadvantage was that it didn't have a unit testing framework. 
Boost.Build does.

   At the moment, all regression tests are built, but not all of them 
are run.

 * There is no installation support at the moment - development only -- 
it shouldn't be difficult to add.

 * Linkage. Boost.Build does away with the 'hammer into anvil' approach 
of adding libraries which are specifically required for a given OS to 
the global link line, it takes a more fine grained approach, so 
libraries will need to be added to the Boost.Build e.g. only link librt 
when building on Linux.

later
BMS

_______________________________________________
Xorp-hackers mailing list
[email protected]
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers

Reply via email to