Building Quince and the Backends

To build each library, change into its top-level directory (the one directly above src and include), and run the command b2.

You may want or need to set some build properties via b2's commandline arguments. The commandline is documented here.

The only property that I need to set is address-model=64, and only when I'm using my 64-bit Windows machine, on which msvc is the one and only toolset. Unfortunately I have not been able to find a definitive statement of when b2 deduces the address model and when you need to specify it, so you may need to try with and without and see what works.

The properties you are most likely to want to set are variant (with value debug or release) and link (with value shared or static).

If you are using the msvc toolset then don't bother setting the link property; the build rules always set it to static. With other toolsets it defaults to shared and you can set it from the commandline if you want.

If you have multiple toolsets (e.g. on my Ubuntu machine I have both gcc and clang), and if you have specified both of them in your user-config.jam file, then you should set a toolset property to tell b2 which one to use.

You never need to set the threading property; the build rules always set it to multi.

You can build with different combinations of properties, e.g. you might build with b2 variant=debug link=static and again with b2 variant=release link=shared. (The instructions even show you how to build with multiple property choices in a single invocation of b2.) The outputs of these different builds are stored separately and don't interfere with each other.