Hello all,

 

I've been using jam for a while, and as my project got bigger I decided to put together a proper build system from scratch...

I decided to go with boost.build because I've heard a lot of good things about it...

I've read the docs, the manual and had a look at the wiki, but there are some things I couldn't figure out how to do. 

I'm hoping you can help, so here comes:

 

1.

Where can I get a list of all the possible options I can pass to certain things like "project" or "exe" (e.g. project can take : requirements, : usage-requirements, etc.)

Is there a full reference table somewhere for all the things you can "import" and use or is my best bet just to go through the sources?

 

2.

What is the difference between <link>static and <link-runtime>static

 

3.

What is the difference between:

 

project foo

   : usage-requirements <include>.

   : requirements <link>static

   ;

 

exe foo

   : foo.cpp

   :

   ;

 

AND

 

project foo

   : usage-requirements <include>.

   ;

 

exe foo

   : foo.cpp

   : <link>static

   ;

 

4.

Finally, where is the best place to define something like ROOT = $(HOME)/projects so that in my Jamfiles instead of doing things like

 

use-project /math : ../../../libs/math

 

I can instead do something like

 

use-project /math : $(ROOT)/libs/math

 

 

Thanx in advance,

K.