Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

libs/test/doc/adv_scenarios/building_utf.qbk

[/
 / Copyright (c) 2003 Boost.Test contributors
 /
 / Distributed under the Boost Software License, Version 1.0. (See accompanying
 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 /]


[section:build_utf Building the __UTF__]
In case you would like to use the [link boost_test.usage_variants.shared_lib shared library variant] or the [link boost_test.usage_variants.static_lib static library variant] of the __UTF__, the library needs to be built.
Building the __UTF__ is in fact quite easy.

In the sequel, we define

* $`boost_path` refers to the location where the boost archive was deflated
* $`boost_installation_prefix` refers to the location where you want to install the __UTF__

[/ not true
 [note By default, the static and dynamic variant will be built for your operating system]
]

More documentation about *Boost's build system* can be found [@http://www.boost.org/more/getting_started/index.html here].

[h3 Windows]

You need to have a compilation toolchain. /Visual Studio Express/ is such one, freely available from the
Microsoft website. Once installed, open a /Visual Studio Command Line tools/ prompt and build the Boost build program `b2`
(see the link above). You will then be able to compile the __UTF__ with different variants.

[h4 Static variant]
For building 32bits libraries, open a console window and enter the following commands:
```
> cd ``$``boost_path
> bootstrap.bat
> b2 address-model=32 architecture=x86 --with-test link=static \
>                     --prefix=``$``boost_installation_prefix install
```

For building 64bits libraries, the commands become:
```
> cd ``$``boost_path
> bootstrap.bat
> b2 address-model=64 architecture=x86 --with-test link=static \
>                    --prefix=``$``boost_installation_prefix install
```

[h4 Shared library variant]
In order to build the shared library variant, the directive `link=static` should be replaced by `link=shared` on the above command lines.
For instance, for 64bits builds, the commands become:

```
> cd ``$``boost_path
> bootstrap.bat
> b2 address-model=64 architecture=x86 --with-test link=shared --prefix=``$``boost_installation_prefix install
```

[h3 Linux/OSX]
For Unix/Linux/OSX operating system, the build of the __UTF__ is very similar to the one on Windows:
```
> cd ``$``boost_path
> ./bootstrap.sh
> ./b2 --with-test --prefix=``$``boost_installation_prefix install
```

[endsect] [/build_utf]