###

# Boost.Build

## stlport library support

## Introduction

Boost.Build's stlport supports the use of STLport standard library implementation with the various Boost.Build toolsets. It is designed to allow you to build and test with multiple installed versions of STLPort, so that objects built in each configuration will be built into separate directories. The configuration and features describe here are in addition to those provided by the specific toolsets that can be configured use the STLport library.

## Configuration Variables

The `stlport` support responds to the following variables, which can be set in the environment or configured on the jam command-line using `-sVARIABLE_NAME=`value.

In the table below, version corresponds to an STLPort version number, e.g. "`5.0`".

Variable Name | Semantics | Default | Notes
--- | --- | --- | ---
`STLPORT_PATH` | A directory containing at least one subdirectory of the form `/STLPort-`version where an STLPort installation can be found. | empty | Allows easy configuration for an installation where several STLPort versions are installed under a single directory.
`STLPORT_`version`_PATH` | The directory where the specific STLPort version installation can be found, in case there is no central location appropriate for `STLPORT_PATH`, above, or a particular version's installation is not located in the usual place. | empty | Allows configuration of a specific STLPort installation.
`STLPORT_VERSION` | The version of STLPort in use by default. | `4.6.2` | Other values can be selected in parallel setting the build property <stlport-version> to values from the list of `$(STLPORT_VERSIONS)`
`STLPORT_VERSIONS` | A space-separated list of alternate versions of STLport available on this machine. | `5.0 4.6.2 4.6 4.5.3 4.5`

## STLport Specific Features

The following `stlport` specific features can be used in target build requirements or in the `BUILD` variable:

Feature | Values | Default | Semantics
--- | --- | --- | ---
`stlport-version` | `$(STLPORT_VERSION) $(STLPORT_VERSIONS)` (see above) | `$(STLPORT_VERSION)` | Selects a version of STLPort for each target
`stlport-iostream` | `on off` | `on` | Controls whether STLPort's own iostreams are in use. The default for this is now "on". This is because overwhelmingly STLport is used for it's iostreams support to the extent that non-iostream mode is no longer available on version 5.0. Since this mode is not available in 5.0 this feature is ignored when using version 5.0.
`stlport-cstd-namespace` | `std global` | `std` | Controls whether or not names from the "C" library headers such as <cstdlib> are imported into `namespace std`.
`stlport-debug-alloc` | `off on` | `off` | Enables STLport support for debugging memory allocations, i.e. it defines `_STLP_DEBUG_ALLOC` appropriately.
`stlport-cross` | `off on` | `off` | For STLport 5.0, with it's new library naming scheme, it is possible to build using compiler specific targets. This tells Boost.Build that you built STLport in it's "cross compile" mode and will adjust how it looks for the STLport libraries to match.
`stlport-extensions` | `on off` | `on` | Defines `_STLP_NO_EXTENSIONS` appropriately.
`stlport-anachronisms` | `on off` | `on` | Defines `_STLP_NO_ANACHRONISMS` appropriately.

Revised $Date: 2005/12/01 04:52:04 $

Copyright © Dave Abrahams 2002, Aleksey Gurtovoy 2004, Rene Rivera 2005.

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)